0 Replies Latest reply on Aug 21, 2005 4:05 AM by Shlomit Littig

    Problem with Document Literal/Multiple Operations

    Shlomit Littig Newbie

      Hello All,



      We are working with JBoss 3.2.5 that uses Axis 1.1.

      We are having a problem exposing our service as a Document Literal-Service.

      The WSDL that is generated by JBoss.net creates (probably using java2wsdl) a schema that defines the soap elements that will be used in each soap message.

      Our problem is that the names of the elements repeat themselves (and they are declared using the same namespace).



      When we generate our client stubs, they fail to handle the duplicate element name definition.

      We see the following exception string:



      [java] {http://service.marking.product.dbs}in0 already exists

      [java] {http://service.object}in1 already exists

      [java] {http://service.object}in0 already exists

      [java] {http://service.object}in1 already exists

      [java] {http://service.object}in0 already exists

      [java] {http://service.object}in1 already exists



      Here is the schema part from our wsdl



      -

      <<schema targetNamespace="http://service.object" xmlns="http://www.w3.org/2001/XMLSchema">
      
       <element name="in0" type="xsd:string" />
      
       <element name="in1" type="xsd:long" />
      
       <element name="in2" type="xsd:string" />
      
       <element name="in0" type="xsd:string" />
      
       <element name="in1" type="impl:ArrayOf_tns1_Complete" />
      
       <element name="in0" type="xsd:string" />
      
       <element name="in1" type="impl:ArrayOf_tns1_Start" />
      
       <element name="in0" type="xsd:string" />
      
       <element name="in1" type="impl:ArrayOf_tns1_End" />
      
       <element name="in0" type="xsd:string" />
      
       <element name="in1" type="impl:ArrayOf_tns1_Update" />
      
       <element name="in0" type="xsd:string" />
      
       <element name="in1" type="xsd:long" />
      
       <element name="in2" type="xsd:short" />
      
       <element name="in3" type="xsd:byte" />
      
       <element name="in0" type="xsd:string" />
      
       <element name="in1" type="xsd:long" />
      
       <element name="in2" type="impl:ArrayOf_tns1_AssimilationStartObj" />
      
       <element name="in0" type="xsd:string" />
      
       <element name="in1" type="impl:ArrayOf_tns1_AssimilationCompletedObj" />
      
       </schema>
      
      

      oNow, the actual part that uses the operation messages looks roughly like this:

      -
      <<wsdl:operation name="xxx" parameterOrder="in0 in1 in2">
      
       <wsdl:input message="impl:xxxRequest" name="xxxRequest" />
      
       <wsdl:output message="impl:xxxResponse" name="xxxResponse" />
      
       </wsdl:operation>
      
      - <wsdl:operation name="yyy" parameterOrder="in0 in1">
      
       <wsdl:input message="impl:yyyRequest" name="yyytRequest" />
      
       <wsdl:output message="impl:yyyResponse" name="yyyResponse" />
      
       </wsdl:operation>




      See, it uses the same in0 element when it should use a different element for each message element.



      We think this problem may relate to the Axis bug: 20654.



      Are we witnessing an occurrence of this bug?

      Besides changing to wrapped style, do you see ay obvious workarounds to this problem?

      Is there a plan to fix this bug soon?



      Any help will be appreciated!



      Shlomit Littig.