You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by an...@apache.org on 2006/05/09 19:37:18 UTC

svn commit: r405480 - in /incubator/tuscany/java/sca/bindings/binding.axis2/src/main/java/org/apache/tuscany/binding/axis2: builder/ExternalWebServiceBuilder.java externalservice/Axis2OperationInvoker.java

Author: antelder
Date: Tue May  9 10:37:17 2006
New Revision: 405480

URL: http://svn.apache.org/viewcvs?rev=405480&view=rev
Log:
Fix for TUSCANY-316

Modified:
    incubator/tuscany/java/sca/bindings/binding.axis2/src/main/java/org/apache/tuscany/binding/axis2/builder/ExternalWebServiceBuilder.java
    incubator/tuscany/java/sca/bindings/binding.axis2/src/main/java/org/apache/tuscany/binding/axis2/externalservice/Axis2OperationInvoker.java

Modified: incubator/tuscany/java/sca/bindings/binding.axis2/src/main/java/org/apache/tuscany/binding/axis2/builder/ExternalWebServiceBuilder.java
URL: http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/bindings/binding.axis2/src/main/java/org/apache/tuscany/binding/axis2/builder/ExternalWebServiceBuilder.java?rev=405480&r1=405479&r2=405480&view=diff
==============================================================================
--- incubator/tuscany/java/sca/bindings/binding.axis2/src/main/java/org/apache/tuscany/binding/axis2/builder/ExternalWebServiceBuilder.java (original)
+++ incubator/tuscany/java/sca/bindings/binding.axis2/src/main/java/org/apache/tuscany/binding/axis2/builder/ExternalWebServiceBuilder.java Tue May  9 10:37:17 2006
@@ -18,6 +18,7 @@
 
 import java.lang.reflect.Method;
 import java.util.HashMap;
+import java.util.List;
 import java.util.Map;
 
 import javax.wsdl.Definition;
@@ -119,7 +120,8 @@
 
             WebServiceOperationMetaData operationMetaData = wsPortMetaData.getOperationMetaData(methodName);
             boolean isWrapped = operationMetaData.isDocLitWrapped();
-            DataBinding dataBinding = new SDODataBinding(typeHelper, (QName) operationMetaData.getOperationSignature().get(0), isWrapped);
+            List<?> sig = operationMetaData.getOperationSignature();
+            DataBinding dataBinding = new SDODataBinding(typeHelper, sig.size() > 0 ? (QName) sig.get(0) : null, isWrapped);
 
             Options options = new Options();
             options.setTo(new EndpointReference(wsPortMetaData.getEndpoint()));

Modified: incubator/tuscany/java/sca/bindings/binding.axis2/src/main/java/org/apache/tuscany/binding/axis2/externalservice/Axis2OperationInvoker.java
URL: http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/bindings/binding.axis2/src/main/java/org/apache/tuscany/binding/axis2/externalservice/Axis2OperationInvoker.java?rev=405480&r1=405479&r2=405480&view=diff
==============================================================================
--- incubator/tuscany/java/sca/bindings/binding.axis2/src/main/java/org/apache/tuscany/binding/axis2/externalservice/Axis2OperationInvoker.java (original)
+++ incubator/tuscany/java/sca/bindings/binding.axis2/src/main/java/org/apache/tuscany/binding/axis2/externalservice/Axis2OperationInvoker.java Tue May  9 10:37:17 2006
@@ -61,8 +61,11 @@
         operationClient.setOptions(options);
 
         SOAPEnvelope env = soapFactory.getDefaultEnvelope();
-        OMElement requestOM = dataBinding.toOMElement(args);
-        env.getBody().addChild(requestOM);
+
+        if (args != null && args.length > 0) {
+            OMElement requestOM = dataBinding.toOMElement(args);
+            env.getBody().addChild(requestOM);
+        }
 
         MessageContext requestMC = new MessageContext();
         requestMC.setEnvelope(env);
@@ -83,7 +86,10 @@
         MessageContext responseMC = operationClient.getMessageContext(WSDLConstants.MESSAGE_LABEL_IN_VALUE);
         OMElement responseOM = responseMC.getEnvelope().getBody().getFirstElement();
 
-        Object[] os = dataBinding.fromOMElement(responseOM);
+        Object[] os = null;
+        if (responseOM != null) {
+            os = dataBinding.fromOMElement(responseOM);
+        }
 
         Object response;
         if (os == null || os.length < 1) {