+ Start a Discussion
Aurélien.LavalAurélien.Laval 

Failed to parse WSDL: Unable to find binding

Hello, Salesforce can't parse my WSDL file cause it doesn't find binding, this is my error : Error: Failed to parse wsdl: Failed to parse WSDL: Unable to find binding {http://schemas.datacontract.org/2004/07/FujiTTModel/}basicHttpFujiTTWebService. Found basicHttpFujiTTWebService instead.

 

And this is my WSDL file :

<?xml version="1.0" encoding="iso-8859-1"?>
<wsdl:definitions 
	name="FujiTTWebService" 
	targetNamespace="http://tempuri.org/" 
	xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" 
	xmlns:wsx="http://schemas.xmlsoap.org/ws/2004/09/mex" 
	xmlns:wsa10="http://www.w3.org/2005/08/addressing" 
	xmlns:tns="http://schemas.datacontract.org/2004/07/FujiTTModel/" 
	xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" 
	xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" 
	xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy" 
	xmlns:wsap="http://schemas.xmlsoap.org/ws/2004/08/addressing/policy" 
	xmlns:msc="http://schemas.microsoft.com/ws/2005/12/wsdl/contract" 
	xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing" 
	xmlns:wsam="http://www.w3.org/2007/05/addressing/metadata" 
	xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl" 
	xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" 
	xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
	xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">
		<wsdl:types>
				<xs:schema targetNamespace="http://schemas.datacontract.org/2004/07/FujiTTModel" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
						
.....

				</xs:schema>
		</wsdl:types>
		<wsdl:message name="IFujiTTService_Hello_InputMessage">
				<wsdl:part name="parameters" element="tns:Hello" />
		</wsdl:message>
		<wsdl:message name="IFujiTTService_Hello_OutputMessage">
				<wsdl:part name="parameters" element="tns:HelloResponse" />
		</wsdl:message>
		<wsdl:message name="IFujiTTService_GetConsumerOrders_InputMessage">
				<wsdl:part name="parameters" element="tns:GetConsumerOrders" />
		</wsdl:message>
		<wsdl:message name="IFujiTTService_GetConsumerOrders_OutputMessage">
				<wsdl:part name="parameters" element="tns:GetConsumerOrdersResponse" />
		</wsdl:message>
		<wsdl:message name="IFujiTTService_GetConsumerOrdersByDealer_InputMessage">
				<wsdl:part name="parameters" element="tns:GetConsumerOrdersByDealer" />
		</wsdl:message>
		<wsdl:message name="IFujiTTService_GetConsumerOrdersByDealer_OutputMessage">
				<wsdl:part name="parameters" element="tns:GetConsumerOrdersByDealerResponse" />
		</wsdl:message>
		<wsdl:portType name="IFujiTTService">
				<wsdl:operation name="Hello">
						<wsdl:input wsaw:Action="http://tempuri.org/IFujiTTService/Hello" message="tns:IFujiTTService_Hello_InputMessage" />
						<wsdl:output wsaw:Action="http://tempuri.org/IFujiTTService/HelloResponse" message="tns:IFujiTTService_Hello_OutputMessage" />
				</wsdl:operation>
				<wsdl:operation name="GetConsumerOrders">
						<wsdl:input wsaw:Action="http://tempuri.org/IFujiTTService/GetConsumerOrders" message="tns:IFujiTTService_GetConsumerOrders_InputMessage" />
						<wsdl:output wsaw:Action="http://tempuri.org/IFujiTTService/GetConsumerOrdersResponse" message="tns:IFujiTTService_GetConsumerOrders_OutputMessage" />
				</wsdl:operation>
				<wsdl:operation name="GetConsumerOrdersByDealer">
						<wsdl:input wsaw:Action="http://tempuri.org/IFujiTTService/GetConsumerOrdersByDealer" message="tns:IFujiTTService_GetConsumerOrdersByDealer_InputMessage" />
						<wsdl:output wsaw:Action="http://tempuri.org/IFujiTTService/GetConsumerOrdersByDealerResponse" message="tns:IFujiTTService_GetConsumerOrdersByDealer_OutputMessage" />
				</wsdl:operation>
		</wsdl:portType>
		<wsdl:binding name="basicHttpFujiTTWebService" type="tns:IFujiTTService">
				<soap:binding transport="http://schemas.xmlsoap.org/soap/http" />
				<wsdl:operation name="Hello">
						<soap:operation soapAction="Hello" style="document" />
						<wsdl:input>
								<soap:body use="literal" />
						</wsdl:input>
						<wsdl:output>
								<soap:body use="literal" />
						</wsdl:output>
				</wsdl:operation>
				<wsdl:operation name="GetConsumerOrders">
						<soap:operation soapAction="GetConsumerOrders" style="document" />
						<wsdl:input>
								<soap:body use="literal" />
						</wsdl:input>
						<wsdl:output>
								<soap:body use="literal" />
						</wsdl:output>
				</wsdl:operation>
				<wsdl:operation name="GetConsumerOrdersByDealer">
						<soap:operation soapAction="GetConsumerOrdersByDealer" style="document" />
						<wsdl:input>
								<soap:body use="literal" />
						</wsdl:input>
						<wsdl:output>
								<soap:body use="literal" />
						</wsdl:output>
				</wsdl:operation>
		</wsdl:binding>
		<wsdl:service name="FujiTTWebService">
				<wsdl:port name="basicHttpFujiTTWebService" binding="tns:basicHttpFujiTTWebService">
						<soap:address location="http://62.180.227.66:1024/FujiTTServiceLibrary" />
				</wsdl:port>
		</wsdl:service>
</wsdl:definitions>

Why it doesn't find the tns's namespace whereas it is defined into the wsdl's definitions?

 

Thank for the answers.

Ashish_SFDCAshish_SFDC

Hi Aurelien, 

 

 

It is actually pointing us to the exception being thrown by the Binding Class. 

 

See the below links, might have a possible sollution, 

 

  1. If the Parse WSDL button produces Error: Failed to parse wsdl: Found more than one wsdl:binding. WSDL with multiple binding not supported Deleting the second <wsdl:binding> element what contains soap12 elements and the corresponding port definition under <wsdl:wervice>.

http://www.fishofprey.com/2011/03/consuming-aspnet-web-service-from.html

 

 

Try deleting the Soap1.2 binding.

 

http://forums.sforce.com/t5/Apex-Code-Development/Failed-to-parse-wsdl-Found-more-than-one-wsdl-binding-WSDL-with/td-p/102131

 

 

Regards,

Ashish

Aurélien.LavalAurélien.Laval

Sorry for the late to answer.

 

I'd resolved my issue, the problem was schema markup (xs:schema) inside an other schema markup (xsd:schema), I deleted the xsd:schema markup and it works.