[
https://issues.apache.org/jira/browse/CXF-1079?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Daniel Kulp resolved CXF-1079.
------------------------------
Resolution: Fixed
Fix Version/s: 2.2.3
2.1.6
Assignee: Daniel Kulp
I've added an -allowElementReferences flag to the wsdl2java command to enable
this. The default is false due to the spec as well as for backwords
compatibility. However, turning it on will allow element references to be
considered for unwrapping.
> wsdl2java fails to genrate wrapped style
> ----------------------------------------
>
> Key: CXF-1079
> URL: https://issues.apache.org/jira/browse/CXF-1079
> Project: CXF
> Issue Type: Bug
> Components: Tooling
> Affects Versions: 2.0.2
> Environment: cxf 2.02
> Reporter: Ralf Sigmund
> Assignee: Daniel Kulp
> Fix For: 2.1.6, 2.2.3
>
> Attachments: barewrapped.7z
>
>
> use a wsdl conforming to the jax-ws rules for document literal wrapped style.
> wsdl2java generates BARE port type. jax-ws ri generates WRAPPED with the same
> wsdl.
> Wsdl:
> <?xml version="1.0" encoding="UTF-8"?>
> <wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
> xmlns:tns="http://www.kba.de/pass-service"
> xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
> xmlns:hinweis="http://www.kba.de/hinweis" xmlns:pass="http://www.kba.de/pass"
> xmlns:xsd="http://www.w3.org/2001/XMLSchema"
> targetNamespace="http://www.kba.de/pass-service">
> <wsdl:types>
> <xsd:schema targetNamespace="http://www.kba.de/pass"
> elementFormDefault="qualified">
> <xsd:import namespace="http://www.kba.de/hinweis"
> schemaLocation="xsd/Hinweis.xsd"/>
> <xsd:element name="Passwort">
> <xsd:complexType>
> <xsd:sequence>
> <xsd:element name="Kennung"/>
> <xsd:element name="Passwort"/>
> <xsd:element name="PasswortNeu"
> minOccurs="0"/>
> </xsd:sequence>
> </xsd:complexType>
> </xsd:element>
> <xsd:element name="info">
> <xsd:complexType>
> <xsd:sequence>
> <xsd:element
> ref="pass:Passwort"/>
> </xsd:sequence>
> </xsd:complexType>
> </xsd:element>
> <xsd:element name="infoResponse">
> <xsd:complexType>
> <xsd:sequence>
> <xsd:element
> ref="hinweis:Hinweis"/>
> </xsd:sequence>
> </xsd:complexType>
> </xsd:element>
> <xsd:element name="passwortAenderung">
> <xsd:complexType>
> <xsd:sequence>
> <xsd:element
> ref="pass:Passwort"/>
> </xsd:sequence>
> </xsd:complexType>
> </xsd:element>
> <xsd:element name="passwortAenderungResponse">
> <xsd:complexType>
> <xsd:sequence>
> <xsd:element
> ref="hinweis:Hinweis"/>
> </xsd:sequence>
> </xsd:complexType>
> </xsd:element>
> </xsd:schema>
> </wsdl:types>
> <wsdl:message name="Hinweis">
> <wsdl:part name="parameters" element="hinweis:FaultHinweis"/>
> </wsdl:message>
> <wsdl:message name="InfoRequest">
> <wsdl:part name="parametersInfo" element="pass:info"/>
> </wsdl:message>
> <wsdl:message name="InfoResponse">
> <wsdl:part name="parametersInfoResponse"
> element="pass:infoResponse"/>
> </wsdl:message>
> <wsdl:message name="PassRequest">
> <wsdl:part name="parametersRequest"
> element="pass:passwortAenderung"/>
> </wsdl:message>
> <wsdl:message name="PassResponse">
> <wsdl:part name="parametersRequestResponse"
> element="pass:passwortAenderungResponse"/>
> </wsdl:message>
> <wsdl:portType name="passPortType">
> <wsdl:operation name="info">
> <wsdl:input name="infoRequest"
> message="tns:InfoRequest"/>
> <wsdl:output name="infoResponse"
> message="tns:InfoResponse"/>
> <wsdl:fault name="hinweis" message="tns:Hinweis"/>
> </wsdl:operation>
> <wsdl:operation name="passwortAenderung">
> <wsdl:input name="PassRequest"
> message="tns:PassRequest"/>
> <wsdl:output name="PassResponse"
> message="tns:PassResponse"/>
> <wsdl:fault name="hinweis" message="tns:Hinweis"/>
> </wsdl:operation>
> </wsdl:portType>
> <wsdl:binding name="passSOAP" type="tns:passPortType">
> <soap:binding style="document"
> transport="http://schemas.xmlsoap.org/soap/http"/>
> <wsdl:operation name="info">
> <soap:operation soapAction="http://www.kba.de/info"
> style="document"/>
> <wsdl:input name="infoRequest">
> <soap:body use="literal"/>
> </wsdl:input>
> <wsdl:output name="infoResponse">
> <soap:body use="literal"/>
> </wsdl:output>
> <wsdl:fault name="hinweis">
> <soap:fault name="hinweis" use="literal"/>
> </wsdl:fault>
> </wsdl:operation>
> <wsdl:operation name="passwortAenderung">
> <soap:operation
> soapAction="http://www.kba.de/PasswortAenderung" style="document"/>
> <wsdl:input name="PassRequest">
> <soap:body use="literal"/>
> </wsdl:input>
> <wsdl:output name="PassResponse">
> <soap:body use="literal"/>
> </wsdl:output>
> <wsdl:fault name="hinweis">
> <soap:fault name="hinweis" use="literal"/>
> </wsdl:fault>
> </wsdl:operation>
> </wsdl:binding>
> <wsdl:service name="passService">
> <wsdl:port name="passSOAP" binding="tns:passSOAP">
> <soap:address
> location="http://localhost:8191/passService"/>
> </wsdl:port>
> </wsdl:service>
> </wsdl:definitions>
> cxf generated java:
> @SOAPBinding(parameterStyle = SOAPBinding.ParameterStyle.BARE)
> @WebResult(targetNamespace = "http://www.kba.de/pass", partName =
> "parametersInfoResponse", name = "infoResponse")
> @WebMethod(action = "http://www.kba.de/info")
> public de.kba.pass.InfoResponse info(
> @WebParam(targetNamespace = "http://www.kba.de/pass", partName =
> "parametersInfo", name = "info")
> de.kba.pass.Info parametersInfo
> ) throws Hinweis;
> jax-ws ri generated java:
> /**
> *
> * @param passwort
> * @return
> * returns de.kba.hinweis.HinweisTyp
> */
> @WebMethod(action = "http://www.kba.de/Info")
> @WebResult(name = "Hinweis", targetNamespace =
> "http://www.kba.de/hinweis")
> @RequestWrapper(localName = "info", targetNamespace =
> "http://www.kba.de/pass", className = "de.kba.pass.Info")
> @ResponseWrapper(localName = "infoResponse", targetNamespace =
> "http://www.kba.de/pass", className = "de.kba.pass.InfoResponse")
> public HinweisTyp info(
> @WebParam(name = "Passwort", targetNamespace =
> "http://www.kba.de/pass")
> Passwort passwort);
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.