[ 
https://issues.apache.org/jira/browse/CXF-1460?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12574608#action_12574608
 ] 

Daniel Kulp commented on CXF-1460:
----------------------------------


Can you try with the 2.1 snapshots?   

With 2.0.4, we have to use the 2.0 jaxb-xjc despite using the 2.0.5 jaxb-impl 
due to issues with the TCK.  (Basically, code we generate with 2.0.4 MUST be 
runnable in the 2.0 version of the JAX-WS RI which uses JAXB 2.0.0.   The 2.0.5 
xjc generates code that doesn't work the same with JAXB-2.0.0.  :-(     We did 
all kinds of tests and stuff to try and figure out what versions of jaxb 2.0.x 
that will actually work with the tck.

With 2.1, we are using 2.1.6 for jaxb-impl and jaxb-xjc so it probably works 
better.

Dan



> wsld2java does not honor elementFormDefault="qualified" in XmlSchema 
> annotation
> -------------------------------------------------------------------------------
>
>                 Key: CXF-1460
>                 URL: https://issues.apache.org/jira/browse/CXF-1460
>             Project: CXF
>          Issue Type: Bug
>          Components: Tooling
>    Affects Versions: 2.0.3, 2.0.4
>         Environment: Windows XP, Java Standard Edition 5.0
>            Reporter: Artur Karazniewicz
>            Priority: Blocker
>
> java2wsdl does not honour elementFormDefault="qualified" attribute. Generated 
> package-info.java does not have set attribute 
> elementFormDefault=XmlNsForn.QUALIFIED.
> See below example:
> here is sample wsdl:
> {code:xml}
> <wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/";
>         xmlns:tns="http://www.example.org/loanap/";
>         xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/";
>         xmlns:loanapp="http://www.example.org/loanap/types";
>         xmlns:xsd="http://www.w3.org/2001/XMLSchema"; name="loanap"
>         targetNamespace="http://www.example.org/loanap/";>
>         <wsdl:types>
>                 <xsd:schema
>                         targetNamespace="http://www.example.org/loanap/types";
>                         elementFormDefault="qualified" 
> attributeFormDefault="unqualified">
>                         <xsd:element name="aplication">
>                                 <xsd:complexType>
>                                         <xsd:sequence>
>                                                 <xsd:element name="salary" 
> type="xsd:decimal" />
>                                                 <xsd:element name="loan" 
> type="xsd:decimal" />
>                                         </xsd:sequence>
>                                 </xsd:complexType>
>                         </xsd:element>
>                         <xsd:element name="result">
>                                 <xsd:complexType>
>                                         <xsd:sequence>
>                                                 <xsd:element name="commited" 
> type="xsd:boolean" />
>                                                 <xsd:element name="amount" 
> type="xsd:decimal" />
>                                         </xsd:sequence>
>                                 </xsd:complexType>
>                         </xsd:element>
>                 </xsd:schema>
>         </wsdl:types>
>         <wsdl:message name="applyRequest">
>                 <wsdl:part element="loanapp:aplication" name="parameters" />
>         </wsdl:message>
>         <wsdl:message name="applyResponse">
>                 <wsdl:part element="loanapp:result" name="parameters" />
>         </wsdl:message>
>         <wsdl:portType name="LoanService">
>                 <wsdl:operation name="apply">
>                         <wsdl:input message="tns:applyRequest" />
>                         <wsdl:output message="tns:applyResponse" />
>                 </wsdl:operation>
>         </wsdl:portType>
>         <wsdl:binding name="loanapSOAP" type="tns:LoanService">
>                 <soap:binding style="document"
>                         transport="http://schemas.xmlsoap.org/soap/http"; />
>                 <wsdl:operation name="apply">
>                         <soap:operation
>                                 
> soapAction="http://www.example.org/loanap/NewOperation"; />
>                         <wsdl:input>
>                                 <soap:body use="literal" />
>                         </wsdl:input>
>                         <wsdl:output>
>                                 <soap:body use="literal" />
>                         </wsdl:output>
>                 </wsdl:operation>
>         </wsdl:binding>
>         <wsdl:service name="loanap">
>                 <wsdl:port binding="tns:loanapSOAP" name="LoanService">
>                         <soap:address
>                                 
> location="http://www.somebank.com/services/loanservice"; />
>                 </wsdl:port>
>         </wsdl:service>
> </wsdl:definitions>
> {code}
> I use {code}wsdl2java loanapp.wsdl{code} to generate Java artefacts and got 
> package-info.java as below:
> {code}
> @javax.xml.bind.annotation.XmlSchema(namespace = 
> "http://www.example.org/loanap/types";)
> package org.example.loanap.types;
> {code}
> Note that, in above embedded XML Schema  I have 
> {code}elementFormDefault="qualified{code} but in above
> package-info it is not reflected. 
> When Metro stack is used I got what expected:
> {code}wsimport -Xnocompile loanap.wsdl{code}
> gives:
> {code}
> @javax.xml.bind.annotation.XmlSchema(namespace = 
> "http://www.example.org/loanap/types";, elementFormDefault = 
> javax.xml.bind.annotation.XmlNsForm.QUALIFIED)
> package org.example.loanap.types;
> {code}
> What's interesting. When I use jaxb 2.0.5 (which seems to be used in CXF 
> 2.0.4) and xjc I got exactly the same code as wsimport. 
> It seems that's CXF bug, rather than JAXB RI. Also I consider this as a 
> serius show stopper, since CXF will produce XML instances which are not valid 
> against above schema (i.e. unqualified).

-- 
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