You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ofbiz.apache.org by jl...@apache.org on 2009/12/14 10:35:16 UTC

svn commit: r890245 - /ofbiz/trunk/framework/service/src/org/ofbiz/service/ModelService.java

Author: jleroux
Date: Mon Dec 14 09:35:15 2009
New Revision: 890245

URL: http://svn.apache.org/viewvc?rev=890245&view=rev
Log:
A patch from Si Chen "wsdl generated is not correct for Apache Synapse and Visual Studio" (https://issues.apache.org/jira/browse/OFBIZ-3299) - OFBIZ-3299
The WSDL generated by ModelService is not correct for Visual Studio or Apache Synapse, causing Web services not to work properly. The soap:action tag is missing the URI for soapAction and needs to specify that this style is "rpc" for RPC/literal.

Modified:
    ofbiz/trunk/framework/service/src/org/ofbiz/service/ModelService.java

Modified: ofbiz/trunk/framework/service/src/org/ofbiz/service/ModelService.java
URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/service/src/org/ofbiz/service/ModelService.java?rev=890245&r1=890244&r2=890245&view=diff
==============================================================================
--- ofbiz/trunk/framework/service/src/org/ofbiz/service/ModelService.java (original)
+++ ofbiz/trunk/framework/service/src/org/ofbiz/service/ModelService.java Mon Dec 14 09:35:15 2009
@@ -1265,7 +1265,11 @@
         bindingOperation.setBindingInput(bindingInput);
 
         SOAPOperation soapOperation = new SOAPOperationImpl();
-        soapOperation.setSoapActionURI(""); // ?
+        // soapAction should be set to the location of the SOAP URI, or Visual Studio won't construct the correct SOAP message
+        soapOperation.setSoapActionURI(locationURI); 
+        // this is the RPC/literal style.  See http://www.ibm.com/developerworks/webservices/library/ws-whichwsdl/
+        // this parameter is necessary or Apache Synapse won't recognize the WSDL
+        soapOperation.setStyle("rpc");
         bindingOperation.addExtensibilityElement(soapOperation);
 
         binding.addBindingOperation(bindingOperation);