[ 
https://issues.apache.org/jira/browse/AXIS2-2902?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Andreas Veithen resolved AXIS2-2902.
------------------------------------

       Resolution: Duplicate
    Fix Version/s: 1.7.0
         Assignee: Andreas Veithen  (was: Amila Chinthaka Suriarachchi)

I think that this is the same issue as AXIS2-4197 which has been fixed recently.
                
> jaxbri databinding cannot handle multiple XML elements of the same type
> -----------------------------------------------------------------------
>
>                 Key: AXIS2-2902
>                 URL: https://issues.apache.org/jira/browse/AXIS2-2902
>             Project: Axis2
>          Issue Type: Bug
>          Components: databinding
>    Affects Versions: 1.2
>            Reporter: Denis Rachal
>            Assignee: Andreas Veithen
>             Fix For: 1.7.0
>
>         Attachments: test.wsdl
>
>
> wsdl2java with jaxbri databinding cannot handle multiple XML elements of the 
> same type. I have two elements of the same type. If I define two messages in 
> my WSDL with the two different XML elements that are of the same type, a 
> message is generated for the second element with the name of the first 
> element.
> WSDL is attached for an example. 
> In short. I have defined two request messages:
>       <wsdl:message name="ReplyToRequestMessage">
>               <wsdl:part name="ReplyTo" element="wsa:ReplyTo" />
>       </wsdl:message>
> and 
>       <wsdl:message name="FromResponseMessage">
>               <wsdl:part name="From" element="wsa:From" />
>       </wsdl:message>
> WS Addressing (http://schemas.xmlsoap.org/ws/2004/08/addressing/) defines the 
> elements "ReplyTo" & "From" as follows:
>   <xs:element name="From" type="wsa:EndpointReferenceType" /> 
>   <xs:element name="ReplyTo" type="wsa:EndpointReferenceType" /> 
> They are both the same type, "wsa:EndpointReferenceType"
> The stub code generated has a toOM() method that is used to generate both the 
> "ReplyTo" element and the "From" element, but the method has hardcoded the 
> element name "ReplyTo" making it incorrect for the use with the "From" case. 
> See generated code below:
>                 private org.apache.axiom.om.OMElement 
> toOM(org.xmlsoap.schemas.ws._2004._08.addressing.EndpointReferenceType param, 
> org.apache.axiom.soap.SOAPFactory factory, boolean optimizeContent) {
>                     try {
>                         javax.xml.bind.JAXBContext context = 
> org_xmlsoap_schemas_ws__2004__08_addressing_EndpointReferenceType;
>                         javax.xml.bind.Marshaller marshaller = 
> context.createMarshaller();
>                         
> marshaller.setProperty(javax.xml.bind.Marshaller.JAXB_FRAGMENT, 
> Boolean.TRUE);            
>                         JaxbRIDataSource source = new JaxbRIDataSource( 
> org.xmlsoap.schemas.ws._2004._08.addressing.EndpointReferenceType.class,
>                                                                         param,
>                                                                         
> marshaller,
>                                                                         
> "http://schemas.xmlsoap.org/ws/2004/08/addressing";,
>                                                                         
> "ReplyTo");
>                         org.apache.axiom.om.OMNamespace namespace = 
> factory.createOMNamespace("",
>                                                                            
> null);
>                         return factory.createOMElement(source, "ReplyTo", 
> namespace);
>                     } catch (javax.xml.bind.JAXBException bex){
>                         throw new RuntimeException(bex);
>                     }
>                 }
> To duplicate use the attached WSDL. Download the 
> http://schemas.xmlsoap.org/ws/2004/08/addressing schema to "addressing.xsd" 
> in the same directory as the "test.wsdl" and run the following command:
> wsdl2java -uri test.wsdl -o gen-src -p com.test -s -t -d jaxbri

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to