[jbossws-commits] JBossWS SVN: r3679 - in branches/jbossws-2.0/jbossws-core/src: main/java/org/jboss/ws/metadata/umdm and 2 other directories.

jbossws-commits at lists.jboss.org jbossws-commits at lists.jboss.org
Thu Jun 21 11:50:44 EDT 2007


Author: thomas.diesler at jboss.com
Date: 2007-06-21 11:50:44 -0400 (Thu, 21 Jun 2007)
New Revision: 3679

Modified:
   branches/jbossws-2.0/jbossws-core/src/main/java/org/jboss/ws/core/soap/SOAPMessageUnMarshaller.java
   branches/jbossws-2.0/jbossws-core/src/main/java/org/jboss/ws/metadata/umdm/ParameterMetaData.java
   branches/jbossws-2.0/jbossws-core/src/test/java/org/jboss/test/ws/common/soap/MessageFactoryTestCase.java
   branches/jbossws-2.0/jbossws-core/src/test/java/org/jboss/test/ws/jaxws/jbws1422/IWebsvc.java
   branches/jbossws-2.0/jbossws-core/src/test/java/org/jboss/test/ws/jaxws/jbws1422/IWebsvcImpl.java
   branches/jbossws-2.0/jbossws-core/src/test/java/org/jboss/test/ws/jaxws/jbws1422/JBWS1422TestCase.java
Log:
[JBWS-771] Use part names that are friendly to .NET

Modified: branches/jbossws-2.0/jbossws-core/src/main/java/org/jboss/ws/core/soap/SOAPMessageUnMarshaller.java
===================================================================
--- branches/jbossws-2.0/jbossws-core/src/main/java/org/jboss/ws/core/soap/SOAPMessageUnMarshaller.java	2007-06-21 15:21:13 UTC (rev 3678)
+++ branches/jbossws-2.0/jbossws-core/src/main/java/org/jboss/ws/core/soap/SOAPMessageUnMarshaller.java	2007-06-21 15:50:44 UTC (rev 3679)
@@ -72,7 +72,7 @@
 
          // [JBWS-859] SOAPMessageUnMarshaller doesn't support HTTP server response [204] - No Content
          SOAPMessage soapMsg = null;
-         if (resCode != HttpServletResponse.SC_NO_CONTENT)
+         if (resCode != null && resCode != HttpServletResponse.SC_NO_CONTENT)
          {
             MimeHeaders mimeHeaders = getMimeHeaders(metadata);
             soapMsg = new MessageFactoryImpl().createMessage(mimeHeaders, inputStream, true);

Modified: branches/jbossws-2.0/jbossws-core/src/main/java/org/jboss/ws/metadata/umdm/ParameterMetaData.java
===================================================================
--- branches/jbossws-2.0/jbossws-core/src/main/java/org/jboss/ws/metadata/umdm/ParameterMetaData.java	2007-06-21 15:21:13 UTC (rev 3678)
+++ branches/jbossws-2.0/jbossws-core/src/main/java/org/jboss/ws/metadata/umdm/ParameterMetaData.java	2007-06-21 15:50:44 UTC (rev 3679)
@@ -30,6 +30,7 @@
 import java.util.Set;
 import java.util.StringTokenizer;
 
+import javax.jws.soap.SOAPBinding.ParameterStyle;
 import javax.xml.namespace.QName;
 import javax.xml.rpc.ParameterMode;
 
@@ -104,8 +105,14 @@
       this.xmlName = xmlName;
       this.opMetaData = opMetaData;
       this.mode = ParameterMode.IN;
-      this.partName = xmlName.getLocalPart();
       this.javaTypeName = javaTypeName;
+      
+      // [JBWS-771] Use part names that are friendly to .NET
+      if (opMetaData.getEndpointMetaData().getParameterStyle() == ParameterStyle.WRAPPED)
+         partName = "parameters";
+      else
+         partName = xmlName.getLocalPart();
+      
    }
 
    private static boolean matchParameter(Method method, int index, Class expectedType, Set<Integer> matches, boolean exact, boolean holder)

Modified: branches/jbossws-2.0/jbossws-core/src/test/java/org/jboss/test/ws/common/soap/MessageFactoryTestCase.java
===================================================================
--- branches/jbossws-2.0/jbossws-core/src/test/java/org/jboss/test/ws/common/soap/MessageFactoryTestCase.java	2007-06-21 15:21:13 UTC (rev 3678)
+++ branches/jbossws-2.0/jbossws-core/src/test/java/org/jboss/test/ws/common/soap/MessageFactoryTestCase.java	2007-06-21 15:50:44 UTC (rev 3679)
@@ -243,9 +243,9 @@
          String xmlMessage = " ";
          MessageFactory factory = MessageFactory.newInstance();
          factory.createMessage(null,new ByteArrayInputStream(xmlMessage.getBytes()));
-         fail("IOException expected");
+         fail("Exception expected");
       }
-      catch (IOException e)
+      catch (Exception e)
       {
          // ignore
       }

Modified: branches/jbossws-2.0/jbossws-core/src/test/java/org/jboss/test/ws/jaxws/jbws1422/IWebsvc.java
===================================================================
--- branches/jbossws-2.0/jbossws-core/src/test/java/org/jboss/test/ws/jaxws/jbws1422/IWebsvc.java	2007-06-21 15:21:13 UTC (rev 3678)
+++ branches/jbossws-2.0/jbossws-core/src/test/java/org/jboss/test/ws/jaxws/jbws1422/IWebsvc.java	2007-06-21 15:50:44 UTC (rev 3679)
@@ -21,15 +21,15 @@
  */
 package org.jboss.test.ws.jaxws.jbws1422;
 
+import javax.jws.WebParam;
 import javax.jws.WebService;
-import javax.jws.WebParam;
 import javax.jws.soap.SOAPBinding;
-import javax.ejb.Remote;
 
- at WebService(name="test")
- at SOAPBinding(style= SOAPBinding.Style.DOCUMENT, use= SOAPBinding.Use.LITERAL, parameterStyle= SOAPBinding.ParameterStyle.WRAPPED)
- at Remote
-public interface IWebsvc {
+ at WebService
+ at SOAPBinding(style = SOAPBinding.Style.DOCUMENT, use = SOAPBinding.Use.LITERAL, parameterStyle = SOAPBinding.ParameterStyle.WRAPPED)
+public interface IWebsvc
+{
 
-	String cancel(@WebParam(name="nBarFoo") String myfoobar);
+   String cancel(@WebParam(name = "nBarFoo")
+   String myfoobar);
 }

Modified: branches/jbossws-2.0/jbossws-core/src/test/java/org/jboss/test/ws/jaxws/jbws1422/IWebsvcImpl.java
===================================================================
--- branches/jbossws-2.0/jbossws-core/src/test/java/org/jboss/test/ws/jaxws/jbws1422/IWebsvcImpl.java	2007-06-21 15:21:13 UTC (rev 3678)
+++ branches/jbossws-2.0/jbossws-core/src/test/java/org/jboss/test/ws/jaxws/jbws1422/IWebsvcImpl.java	2007-06-21 15:50:44 UTC (rev 3679)
@@ -22,25 +22,16 @@
 package org.jboss.test.ws.jaxws.jbws1422;
 
 import javax.ejb.Stateless;
-import javax.jws.WebService;
 import javax.jws.WebParam;
+import javax.jws.WebService;
 
-/**
- * @author Heiko.Braun at jboss.com
- * @version $Revision$
- */
 @Stateless
- at WebService(
-		endpointInterface = "org.jboss.test.ws.jaxws.jbws1422.IWebsvc",
-		serviceName = "JBWS1422Service",
-		targetNamespace = "http://org.jboss.test.ws/jbws1422"
-)
-
+ at WebService(endpointInterface = "org.jboss.test.ws.jaxws.jbws1422.IWebsvc", serviceName = "JBWS1422Service")
 public class IWebsvcImpl implements IWebsvc
 {
 
-	public String cancel(@WebParam(name = "nBarFoo")String myfoobar)
-	{
-		return "Cancelled";
-	}
+   public String cancel(@WebParam(name = "nBarFoo") String myfoobar)
+   {
+      return "Cancelled-" + myfoobar;
+   }
 }

Modified: branches/jbossws-2.0/jbossws-core/src/test/java/org/jboss/test/ws/jaxws/jbws1422/JBWS1422TestCase.java
===================================================================
--- branches/jbossws-2.0/jbossws-core/src/test/java/org/jboss/test/ws/jaxws/jbws1422/JBWS1422TestCase.java	2007-06-21 15:21:13 UTC (rev 3678)
+++ branches/jbossws-2.0/jbossws-core/src/test/java/org/jboss/test/ws/jaxws/jbws1422/JBWS1422TestCase.java	2007-06-21 15:50:44 UTC (rev 3679)
@@ -21,30 +21,35 @@
  */
 package org.jboss.test.ws.jaxws.jbws1422;
 
+// $Id$
+
+import java.net.URL;
+
+import javax.wsdl.Definition;
+import javax.wsdl.Message;
+import javax.wsdl.factory.WSDLFactory;
+import javax.wsdl.xml.WSDLReader;
+import javax.xml.namespace.QName;
+import javax.xml.ws.Service;
+
 import junit.framework.Test;
-import org.jboss.ws.WSException;
+
 import org.jboss.wsf.spi.test.JBossWSTest;
 import org.jboss.wsf.spi.test.JBossWSTestSetup;
 
-import javax.xml.namespace.QName;
-import javax.xml.ws.Service;
-import java.net.URL;
-
 /**
- * If @WebParam.name starts with one lower-case character followed
- * by an upper-case character a NPE is thrown on deployment.
- *
- * http://jira.jboss.org/jira/browse/JBWS-1422
- *
- * @version $Revision:1370 $
+ * [JBWS-1422] NPE if @WebParam.name like "mX.."
+ * [JBWS-771] Use part names that are friendly to .NET
+ * 
+ * @author Thomas.Diesler at jboss.com 
  */
 public class JBWS1422TestCase extends JBossWSTest
 {
-   private String targetNS = "http://org.jboss.test.ws/jbws1422";
-   private IWebsvc port;
-	private URL wsdlURL;
+   private static final String TARGET_NAMESPACE = "http://jbws1422.jaxws.ws.test.jboss.org/";
+   private static URL wsdlURL;
+   private static IWebsvc port;
 
-	public static Test suite()
+   public static Test suite()
    {
       return JBossWSTestSetup.newTestSetup(JBWS1422TestCase.class, "jaxws-jbws1422.jar");
    }
@@ -52,31 +57,40 @@
    @Override
    protected void setUp() throws Exception
    {
-      super.setUp();
+      if (port == null)
+      {
+         QName serviceName = new QName(TARGET_NAMESPACE, "JBWS1422Service");
+         wsdlURL = new URL("http://" + getServerHost() + ":8080/jaxws-jbws1422/IWebsvcImpl?wsdl");
 
-      QName serviceName = new QName(targetNS, "JBWS1422Service");
-      wsdlURL = new URL("http://" + getServerHost() + ":8080/jaxws-jbws1422/IWebsvcImpl?wsdl");
+         Service service = Service.create(wsdlURL, serviceName);
+         port = service.getPort(IWebsvc.class);
+      }
+   }
 
-      Service service = Service.create(wsdlURL, serviceName);
-      port = service.getPort(IWebsvc.class);
+   public void testDeployment() throws Exception
+   {
+      String result = port.cancel("myFooBar");
+      assertEquals("Cancelled-myFooBar", result);
    }
+   
+   // [JBWS-771] Use part names that are friendly to .NET
+   public void testMessagePartNames() throws Exception
+   {
+      Definition wsdl = getWSDLDefinition(wsdlURL.toExternalForm());
+      
+      Message wsdlReqMessage = wsdl.getMessage(new QName(TARGET_NAMESPACE, "IWebsvc_cancel"));
+      assertNotNull("Expected part with name 'parameters' in: " + wsdlReqMessage, wsdlReqMessage.getPart("parameters"));
+      
+      Message wsdlResMessage = wsdl.getMessage(new QName(TARGET_NAMESPACE, "IWebsvc_cancelResponse"));
+      assertNotNull("Expected part with name 'parameters' in: " + wsdlResMessage, wsdlResMessage.getPart("parameters"));
+   }
+   
+   private Definition getWSDLDefinition(String wsdlLocation) throws Exception
+   {
+      WSDLFactory wsdlFactory = WSDLFactory.newInstance();
+      WSDLReader wsdlReader = wsdlFactory.newWSDLReader();
 
-	/**	 
-	 *
-	 * @throws Exception
-	 */
-	public void testDeployment() throws Exception
-	{
-		try
-      {
-         String result = port.cancel("myFooBar");
-			assertNotNull(result);
-			assertEquals("Cancelled", result);
-		}
-      catch (Exception ex)
-      {
-         WSException.rethrow(ex);
-      }
-	}
-
+      Definition definition = wsdlReader.readWSDL(null, wsdlLocation);
+      return definition;
+   }
 }




More information about the jbossws-commits mailing list