cxf-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Daniel Kulp (JIRA)" <j...@apache.org>
Subject [jira] Commented: (CXF-1460) wsld2java does not honor elementFormDefault="qualified" in XmlSchema annotation
Date Mon, 03 Mar 2008 16:50:50 GMT

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


Mime
View raw message