Description
Hi,
I'm migrating an existing soap service from 3.1.5 version to 3.5.0.
The wsdl contains the following information :
<xsd:element name="getMobileProductsRequest"> <xsd:complexType> <xsd:sequence> <xsd:element name="channel" type="tns:channelEnum" minOccurs="1"/> ... </xsd:sequence> </xsd:complexType> </xsd:element> ... <wsdl:message name="getMobileProductsRequest"> <wsdl:part name="getMobileProductsRequest" element="nsmp:getMobileProductsRequest"/> </wsdl:message> ... <wsdl:binding name="ptMobileCatalogSoapBinding" type="tns:ptMobileCatalog"> ... <wsdl:operation name="getMobileProducts"> <wsdl:input message="tns:getMobileProductsRequest" name="getMobileProductsRequest"> </wsdl:input> <wsdl:output message="tns:getMobileProductsResponse" name="getMobileProductsResponse"> </wsdl:output> <wsdl:fault message="tns:MsgFault" name="MsgFault"></wsdl:fault> </wsdl:operation> ... </wsdl:binding>
When I look the generated wsdl, cxf add a root element getMobileProducts above getMobileProductsRequest :
<xsd:complexType name="getMobileProducts"> <xsd:sequence> <xsd:element minOccurs="0" ref="ns0:getMobileProductsRequest"/> </xsd:sequence> </xsd:complexType> <wsdl:message name="getMobileProducts"> <wsdl:part element="tns:getMobileProducts" name="parameters"> </wsdl:part> </wsdl:message> <wsdl:binding name="PtMobileCatalogSoapBinding" type="tns:PtMobileCatalogPortType"> <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/> <wsdl:operation name="getMobileProducts"> <soap:operation soapAction="" style="document"/> <wsdl:input name="getMobileProducts"> <soap:body use="literal"/> </wsdl:input> <wsdl:output name="getMobileProductsResponse"> <soap:body use="literal"/> </wsdl:output> <wsdl:fault name="MsgFault"> <soap:fault name="MsgFault" use="literal"/> </wsdl:fault> </wsdl:operation> </wsdl:binding>
Do you know how can we fix it because we have another backend that call our webservice and we cannot change the original wsdl?
Thank you for your help