function readOnly(count){ }
Starting November 20, the site will be set to read-only. On December 4, 2023,
forum discussions will move to the Trailblazer Community.
+ Start a Discussion
indranily81indranily81 

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

 

Best Answer chosen by Admin (Salesforce Developers) 
indranily81indranily81

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

indranily81indranily81

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

LosintikfosLosintikfos
Post the WSDL file as it was before and i will edit it and show you were the issue is.
indranily81indranily81

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

 

indranily81indranily81

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>

 

 

 

dke01dke01
Delete the 2 of the  FireSoa12Binding and the FireSoap11Binding sections
indranily81indranily81

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

This was selected as the best answer
thewhizkidthewhizkid

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

LosintikfosLosintikfos

Post your WSDL here for verification.

PranatiPranati

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>