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.

Reply via email to