When code is generated from the wsdl file using axis2 the order of the 
parameters is incorrect
----------------------------------------------------------------------------------------------

                 Key: ODE-235
                 URL: https://issues.apache.org/jira/browse/ODE-235
             Project: ODE
          Issue Type: Improvement
          Components: Axis2 Integration
    Affects Versions: 1.2
         Environment: axis2 1.3
            Reporter: Douglas Scott Jackson


After using wsdl2java from axis2 to generate code and test code for the 
pmapi.wsdl, I ran some tests against the process and instance
management APIs.  The code generated passed the parts in a different order than 
ode expected them.  This caused failures when
invoking the ode endpoints.  Modifying the pmapi.wsdl by adding parameterOrder 
to the requests with 3 or more parts solved the
problem.  Attached is a patch which fixes the wsdl file so that it will 
generate the correct code with axis2 wsdl2java.

Index: axis2/src/main/wsdl/pmapi.wsdl
===================================================================
--- axis2/src/main/wsdl/pmapi.wsdl      (revision 615241)
+++ axis2/src/main/wsdl/pmapi.wsdl      (working copy)
@@ -237,7 +237,7 @@
             <output message="tns:listAllProcessesOutput"/>
             <fault name="ManagementFault" message="tns:managementFault"/>
         </operation>
-        <operation name="listProcessesCustom">
+        <operation name="listProcessesCustom" parameterOrder="filter orderKeys 
customizer">
             <input message="tns:listProcessesCustomInput"/>
             <output message="tns:listProcessesCustomOutput"/>
             <fault name="ManagementFault" message="tns:managementFault"/>
@@ -252,12 +252,12 @@
             <output message="tns:getProcessInfoCustomOutput"/>
             <fault name="ManagementFault" message="tns:managementFault"/>
         </operation>
-        <operation name="setProcessProperty">
+        <operation name="setProcessProperty" parameterOrder="pid propertyName 
propertyValue">
             <input message="tns:setProcessPropertyInput"/>
             <output message="tns:setProcessPropertyOutput"/>
             <fault name="ManagementFault" message="tns:managementFault"/>
         </operation>
-        <operation name="setProcessPropertyNode">
+        <operation name="setProcessPropertyNode" parameterOrder="pid 
propertyName propertyValue">
             <input message="tns:setProcessPropertyNodeInput"/>
             <output message="tns:setProcessPropertyNodeOutput"/>
             <fault name="ManagementFault" message="tns:managementFault"/>
@@ -280,7 +280,7 @@
     </portType>

     <portType name="InstanceManagementPortType">
-        <operation name="listInstances">
+        <operation name="listInstances" parameterOrder="filter order limit">
             <input message="tns:listInstancesInput"/>
             <output message="tns:listInstancesOutput"/>
             <fault name="ManagementFault" message="tns:managementFault"/>
@@ -320,7 +320,7 @@
             <output message="tns:getVariableInfoOutput"/>
             <fault name="ManagementFault" message="tns:managementFault"/>
         </operation>
-        <operation name="listEvents">
+        <operation name="listEvents" parameterOrder="instanceFilter 
eventFilter maxCount">
             <input message="tns:listEventsInput"/>
             <output message="tns:listEventsOutput"/>
             <fault name="ManagementFault" message="tns:managementFault"/>
@@ -355,7 +355,7 @@
             <output message="tns:deleteOutput"/>
             <fault name="ManagementFault" message="tns:managementFault"/>
         </operation>
-        <operation name="recoverActivity">
+        <operation name="recoverActivity" parameterOrder="iid aid action">
             <input message="tns:recoverActivityInput"/>
             <output message="tns:recoverActivityOutput"/>
             <fault name="ManagementFault" message="tns:managementFault"/>

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to