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