6 Replies Latest reply on Jun 27, 2005 12:49 PM by Claire Costello

    WSDL duplicate operations

    Claire Costello Newbie

      Hi All,

      JBoss 4.0.2
      JDK/JRE 5
      Win XP Advanced Server.

      I need help with my WSDL. I have duplicate operation names in my interfaces, but with different input params. When I deploy to JBoss it throws the following error:


      org.jboss.deployment.DeploymentException: Cannot deploy webservice; - nested throwable: (java.lang.IllegalArgumentException: Duplicate operation with name=getModel, found in portType '{http://mynamespace}
      ModelServicesEndpointSoapBinding'.)


      Partial WSDL file below. XDoclet generated with Java2WSDL:


      <wsdl:message name="getModelResponse1">

      <wsdl:part name="getModelReturn" type="xsd:string"/>

      </wsdl:message>

      <wsdl:message name="getModelResponse">

      <wsdl:part name="getModelReturn" type="xsd:string"/>

      </wsdl:message>

      <wsdl:message name="getModelRequest">

      <wsdl:part name="in0" type="xsd:string"/>

      </wsdl:message>

      ...

      <wsdl:message name="getModelRequest1">

      </wsdl:message>

      ...

      <wsdl:operation name="getModel" parameterOrder="in0">

      <wsdl:input message="impl:getModelRequest" name="getModelRequest"/>

      <wsdl:output message="impl:getModelResponse" name="getModelResponse"/>

      </wsdl:operation>

      <wsdl:operation name="getModel">

      <wsdl:input message="impl:getModelRequest1" name="getModelRequest1"/>

      <wsdl:output message="impl:getModelResponse1" name="getModelResponse1"/>

      </wsdl:operation>

      ...

      The binding...

      <wsdl:operation name="getModel">

      <wsdlsoap:operation soapAction=""/>

      <wsdl:input name="getModelRequest">

      <wsdlsoap:body namespace="http://ModelManager.process.iwise.com" use="literal"/>

      </wsdl:input>

      <wsdl:output name="getModelResponse">

      <wsdlsoap:body namespace="http://ModelManager.process.iwise.com" use="literal"/>

      </wsdl:output>

      </wsdl:operation>

      <wsdl:operation name="getModel">

      <wsdlsoap:operation soapAction=""/>

      <wsdl:input name="getModelRequest1">

      <wsdlsoap:body namespace="http://ModelManager.process.iwise.com" use="literal"/>

      </wsdl:input>

      <wsdl:output name="getModelResponse1">

      <wsdlsoap:body namespace="http://ModelManager.process.iwise.com" use="literal"/>

      </wsdl:output>

      </wsdl:operation>


      ...

      Endpoint class contains the following methods:
       public String getModel() throws RemoteException;
       public String getModel(String parentProcessID) throws RemoteException;
      


      Anyone any ideas (besides renaming the operations?)
      TIA, Claire.