You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cxf.apache.org by "Daniel Kulp (JIRA)" <ji...@apache.org> on 2009/07/28 03:32:14 UTC

[jira] Resolved: (CXF-1079) wsdl2java fails to genrate wrapped style

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