You need to sign in to do that
Don't have an account?
![indranily81 indranily81](https://dfc-org-production.my.site.com/img/userprofile/default_profile_45_v2.png)
WSDL parse error
Hi,
I have a simple WSDL file which I need to parse in SFDC. When I am trying to do a 'generate from wsdl' I am getting below error.
Error: Failed to parse wsdl: Found more than one wsdl:binding. WSDL with multiple binding not supported
WSDL:-
<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:ns1="http://org.apache.axis2/xsd" xmlns:ns="http://ws.apache.org/axis2" xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" targetNamespace="http://ws.apache.org/axis2">
<wsdl:documentation>
Please Type your service description here
</wsdl:documentation>
<wsdl:types>
<xs:schema attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://ws.apache.org/axis2">
<xs:element name="summation">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" name="a" type="xs:int"/>
<xs:element minOccurs="0" name="b" type="xs:int"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="summationResponse">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" name="return" type="xs:int"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
</wsdl:types>
<wsdl:message name="summationRequest">
<wsdl:part name="parameters" element="ns:summation"/>
</wsdl:message>
<wsdl:message name="summationResponse">
<wsdl:part name="parameters" element="ns:summationResponse"/>
</wsdl:message>
<wsdl:portType name="FirePortType">
<wsdl:operation name="summation">
<wsdl:input message="ns:summationRequest" wsaw:Action="urn:summation"/>
<wsdl:output message="ns:summationResponse" wsaw:Action="urn:summationResponse"/>
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="FireSoap12Binding" type="ns:FirePortType">
<soap12:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/>
<wsdl:operation name="summation">
<soap12:operation soapAction="urn:summation" style="document"/>
<wsdl:input>
<soap12:body use="literal"/>
</wsdl:input>
<wsdl:output>
<soap12:body use="literal"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:binding name="FireHttpBinding" type="ns:FirePortType">
<http:binding verb="POST"/>
<wsdl:operation name="summation">
<http:operation location="Fire/summation"/>
<wsdl:input>
<mime:content type="text/xml" part="summation"/>
</wsdl:input>
<wsdl:output>
<mime:content type="text/xml" part="summation"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="Fire">
<wsdl:port name="FireHttpSoap11Endpoint" binding="ns:FireSoap11Binding">
<soap:address location="http://10.227.75.47:8080/Webservice_provider/services/Fire.FireHttpSoap11Endpoint/"/>
</wsdl:port>
<wsdl:port name="FireHttpSoap12Endpoint" binding="ns:FireSoap12Binding">
<soap12:address location="http://10.227.75.47:8080/Webservice_provider/services/Fire.FireHttpSoap12Endpoint/"/>
</wsdl:port>
<wsdl:port name="FireHttpEndpoint" binding="ns:FireHttpBinding">
<http:address location="http://10.227.75.47:8080/Webservice_provider/services/Fire.FireHttpEndpoint/"/>
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
I tried to remove the second binding tag as found in the error but still the error persists. Any idea would be of
great help
Thanks
indranily81
Hi,
Sorry for forgetting to close the thread. This issue is resolved as I had to remove both multiple ports and bindings section. But what I could not figure out is the same WSDL did not run before a few days back. Seems there might have been some changes in SFDC as the same WSDL is now compiling fine.
Thanks
indranily81
All Answers
More info :-
I have deleted all the SOAP binding sections and kept only HTTP binding section.
now I am getting the error as:
Error: Unable to find soap 1.1 address
<?xml version="1.0" encoding="UTF-8"?> <wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:ns1="http://org.apache.axis2/xsd" xmlns:ns="http://ws.apache.org/axis2" xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" targetNamespace="http://ws.apache.org/axis2"> <wsdl:documentation> Please Type your service description here </wsdl:documentation> <wsdl:types> <xs:schema attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://ws.apache.org/axis2"> <xs:element name="summation"> <xs:complexType> <xs:sequence> <xs:element minOccurs="0" name="a" type="xs:int"/> <xs:element minOccurs="0" name="b" type="xs:int"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="summationResponse"> <xs:complexType> <xs:sequence> <xs:element minOccurs="0" name="return" type="xs:int"/> </xs:sequence> </xs:complexType> </xs:element> </xs:schema> </wsdl:types> <wsdl:message name="summationRequest"> <wsdl:part name="parameters" element="ns:summation"/> </wsdl:message> <wsdl:message name="summationResponse"> <wsdl:part name="parameters" element="ns:summationResponse"/> </wsdl:message> <wsdl:portType name="FirePortType"> <wsdl:operation name="summation"> <wsdl:input message="ns:summationRequest" wsaw:Action="urn:summation"/> <wsdl:output message="ns:summationResponse" wsaw:Action="urn:summationResponse"/> </wsdl:operation> </wsdl:portType> <wsdl:binding name="FireHttpBinding" type="ns:FirePortType"> <http:binding verb="POST"/> <wsdl:operation name="summation"> <http:operation location="Fire/summation"/> <wsdl:input> <mime:content type="text/xml" part="summation"/> </wsdl:input> <wsdl:output> <mime:content type="text/xml" part="summation"/> </wsdl:output> </wsdl:operation> </wsdl:binding> <wsdl:service name="Fire"> <wsdl:port name="FireHttpSoap11Endpoint" binding="ns:FireSoap11Binding"> <soap:address location="http://10.227.75.47:8080/Webservice_provider/services/Fire.FireHttpSoap11Endpoint/"/> </wsdl:port> <wsdl:port name="FireHttpSoap12Endpoint" binding="ns:FireSoap12Binding"> <soap12:address location="http://10.227.75.47:8080/Webservice_provider/services/Fire.FireHttpSoap12Endpoint/"/> </wsdl:port> <wsdl:port name="FireHttpEndpoint" binding="ns:FireHttpBinding"> <http:address location="http://10.227.75.47:8080/Webservice_provider/services/Fire.FireHttpEndpoint/"/> </wsdl:port> </wsdl:service> </wsdl:definitions>
Error: Unable to find soap 1.1 address
Getting the above error while trying to parse.
Sorry, I missed the complete esdl as it was before. Below is the complete wsdl as it was before.
<?xml version="1.0" encoding="UTF-8"?> <wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:ns1="http://org.apache.axis2/xsd" xmlns:ns="http://ws.apache.org/axis2" xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" targetNamespace="http://ws.apache.org/axis2"> <wsdl:documentation> Please Type your service description here </wsdl:documentation> <wsdl:types> <xs:schema attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://ws.apache.org/axis2"> <xs:element name="summation"> <xs:complexType> <xs:sequence> <xs:element minOccurs="0" name="a" type="xs:int"/> <xs:element minOccurs="0" name="b" type="xs:int"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="summationResponse"> <xs:complexType> <xs:sequence> <xs:element minOccurs="0" name="return" type="xs:int"/> </xs:sequence> </xs:complexType> </xs:element> </xs:schema> </wsdl:types> <wsdl:message name="summationRequest"> <wsdl:part name="parameters" element="ns:summation"/> </wsdl:message> <wsdl:message name="summationResponse"> <wsdl:part name="parameters" element="ns:summationResponse"/> </wsdl:message> <wsdl:portType name="FirePortType"> <wsdl:operation name="summation"> <wsdl:input message="ns:summationRequest" wsaw:Action="urn:summation"/> <wsdl:output message="ns:summationResponse" wsaw:Action="urn:summationResponse"/> </wsdl:operation> </wsdl:portType> <wsdl:binding name="FireSoap11Binding" type="ns:FirePortType"> <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/> <wsdl:operation name="summation"> <soap:operation soapAction="urn:summation" style="document"/> <wsdl:input> <soap:body use="literal"/> </wsdl:input> <wsdl:output> <soap:body use="literal"/> </wsdl:output> </wsdl:operation> </wsdl:binding> <wsdl:binding name="FireSoap12Binding" type="ns:FirePortType"> <soap12:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/> <wsdl:operation name="summation"> <soap12:operation soapAction="urn:summation" style="document"/> <wsdl:input> <soap12:body use="literal"/> </wsdl:input> <wsdl:output> <soap12:body use="literal"/> </wsdl:output> </wsdl:operation> </wsdl:binding> <wsdl:binding name="FireHttpBinding" type="ns:FirePortType"> <http:binding verb="POST"/> <wsdl:operation name="summation"> <http:operation location="Fire/summation"/> <wsdl:input> <mime:content type="text/xml" part="summation"/> </wsdl:input> <wsdl:output> <mime:content type="text/xml" part="summation"/> </wsdl:output> </wsdl:operation> </wsdl:binding> <wsdl:service name="Fire"> <wsdl:port name="FireHttpSoap11Endpoint" binding="ns:FireSoap11Binding"> <soap:address location="http://10.227.75.47:8080/Webservice_provider/services/Fire.FireHttpSoap11Endpoint/"/> </wsdl:port> <wsdl:port name="FireHttpSoap12Endpoint" binding="ns:FireSoap12Binding"> <soap12:address location="http://10.227.75.47:8080/Webservice_provider/services/Fire.FireHttpSoap12Endpoint/"/> </wsdl:port> <wsdl:port name="FireHttpEndpoint" binding="ns:FireHttpBinding"> <http:address location="http://10.227.75.47:8080/Webservice_provider/services/Fire.FireHttpEndpoint/"/> </wsdl:port> </wsdl:service> </wsdl:definitions>
Hi,
Sorry for forgetting to close the thread. This issue is resolved as I had to remove both multiple ports and bindings section. But what I could not figure out is the same WSDL did not run before a few days back. Seems there might have been some changes in SFDC as the same WSDL is now compiling fine.
Thanks
indranily81
Hi Indranily.
I am facing the same error. I have removed the duplicate porttypes and kept only SOAP 1.1 porttype.
Also, I have removed all the bindings and retained only the HTTP POST binding as was suggested by SFDC.
It gets parsed successfully but on clicking the "Generate Apex Class" button, I get the error "Unable to find soap 1.1 address"
I am posting the WDSL in the post below..
Kindly suggest
Post your WSDL here for verification.
I am also getting the exception as :"Error: Unable to find soap 1.1 address".
Following is my wsdl
<?xml version="1.0" encoding="UTF-8"?><!-- Published by JAX-WS RI at http://jax-ws.dev.java.net. RI's version is JAX-WS RI 2.1.2-b05-RC1. --><!-- Generated by JAX-WS RI at http://jax-ws.dev.java.net. RI's version is JAX-WS RI 2.1.2-b05-RC1. -->
<definitions xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:tns="http://server.fromjava_soap12/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://schemas.xmlsoap.org/wsdl/" targetNamespace="http://server.fromjava_soap12/" name="AddNumbersImplService">
<types>
<xsd:element name="AddNumbersException" type="tns:AddNumbersException"></xsd:element>
<xsd:element name="addNumbers" type="tns:addNumbers"></xsd:element>
<xsd:element name="addNumbersResponse" type="tns:addNumbersResponse"></xsd:element>
<xsd:complexType name="addNumbers">
<xsd:sequence>
<xsd:element name="arg0" type="xsd:int"></xsd:element>
<xsd:element name="arg1" type="xsd:int"></xsd:element>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="addNumbersResponse">
<xsd:sequence>
<xsd:element name="return" type="xsd:int"></xsd:element>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="AddNumbersException">
<xsd:sequence>
<xsd:element name="detail" type="xsd:string" minOccurs="0"></xsd:element>
<xsd:element name="message" type="xsd:string" minOccurs="0"></xsd:element>
</xsd:sequence>
</xsd:complexType>
<!--</xsd:schema>-->
</types>
<message name="addNumbers">
<part name="parameters" element="tns:addNumbers"></part>
</message>
<message name="addNumbersResponse">
<part name="parameters" element="tns:addNumbersResponse"></part>
</message>
<message name="AddNumbersException">
<part name="fault" element="tns:AddNumbersException"></part>
</message>
<portType name="AddNumbersImpl">
<operation name="addNumbers">
<input message="tns:addNumbers"></input>
<output message="tns:addNumbersResponse"></output>
<fault message="tns:AddNumbersException" name="AddNumbersException"></fault>
</operation>
</portType>
<binding name="AddNumbersImplPortBinding" type="tns:AddNumbersImpl">
<soap12:binding transport="http://www.w3.org/2003/05/soap/bindings/HTTP/" style="document"></soap12:binding>
<operation name="addNumbers">
<soap12:operation soapAction=""></soap12:operation>
<input>
<soap12:body use="literal"></soap12:body>
</input>
<output>
<soap12:body use="literal"></soap12:body>
</output>
<fault name="AddNumbersException">
<soap12:fault name="AddNumbersException" use="literal"></soap12:fault>
</fault>
</operation>
</binding>
<service name="AddNumbersImplService">
<port name="AddNumbersImplPort" binding="tns:AddNumbersImplPortBinding">
<soap12:address location="http://localhost:8080/jaxws-fromjava-soap12/addnumbers"></soap12:address>
</port>
</service>
</definitions>