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] Resolved: (CXF-1460) wsld2java does not honor elementFormDefault="qualified" in XmlSchema annotation
Date Wed, 05 Mar 2008 15:33:40 GMT

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

Daniel Kulp resolved CXF-1460.
------------------------------

       Resolution: Fixed
    Fix Version/s: 2.1


I'm going to mark this "resolved for 2.1" as it's fixed in 2.1 due to the jaxb upgrade to
2.1.6 and it's unresolvable for 2.0.x due to TCK issues.   (and a workaround is available)
  :-(



> 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
>             Fix For: 2.1
>
>
> 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