You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-user@axis.apache.org by "Littig, Shlomit" <Sh...@verint.com> on 2005/08/21 12:35:24 UTC

Problem with multiple operations with Document/Literal

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.



 







__________________________________________________________________________________________
This electronic message contains information from Verint Systems, which may be privileged and confidential.
The information is intended to be for the use of the individual(s)or entity named above.
If you are not the intended recipient, be aware that any disclosure, copying, distribution or use of the contents of this information is prohibited.
If you have received this electronic message in error, please notify us by replying to this email (1).

Re: Problem with multiple operations with Document/Literal

Posted by Anne Thomas Manes <at...@gmail.com>.
Also, Axis 1.1 had less than perfect support of document style (wrapped or 
unwrapped). I strongly encourage you to adopt the WSDL First approach to 
building document style web services with Axis 1.1.

Anne

On 8/21/05, Anne Thomas Manes <at...@gmail.com> wrote:
> 
> When using non-wrapped document style, you can have at most one input 
> parameter associated with the service. In other words, you must adjust your 
> method to accept a single object, which contains your parameters as 
> properties. 
> 
> If you use the wrapped style, then Axis will do that for you 
> automatically.
> 
> Anne
> 
> 
> On 8/21/05, Littig, Shlomit <Sh...@verint.com> wrote:
> > 
> >  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. 
> > 
> >      
> > __________________________________________________________________________________________
> > This electronic message contains information from Verint Systems, which 
> > may be privileged and confidential. 
> > The information is intended to be for the use of the individual(s)or 
> > entity named above. 
> > If you are not the intended recipient, be aware that any disclosure, 
> > copying, distribution or use of the contents of this information is 
> > prohibited. 
> > If you have received this electronic message in error, please notify us 
> > by replying to this email (1).
> > 
> >  
>

Re: Problem with multiple operations with Document/Literal

Posted by Anne Thomas Manes <at...@gmail.com>.
When using non-wrapped document style, you can have at most one input 
parameter associated with the service. In other words, you must adjust your 
method to accept a single object, which contains your parameters as 
properties. 

If you use the wrapped style, then Axis will do that for you automatically.

Anne


On 8/21/05, Littig, Shlomit <Sh...@verint.com> wrote:
> 
>  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.
> 
>     
> __________________________________________________________________________________________
> This electronic message contains information from Verint Systems, which 
> may be privileged and confidential. 
> The information is intended to be for the use of the individual(s)or 
> entity named above. 
> If you are not the intended recipient, be aware that any disclosure, 
> copying, distribution or use of the contents of this information is 
> prohibited. 
> If you have received this electronic message in error, please notify us by 
> replying to this email (1).
> 
>