The required WSDL extension element 'binding' from namespace - web-services

I'm having an huge problem with the my web service.
When I try to generate the files via svcutil I get the following error messages:
Attempting to download metadata from 'http://srv:13208/GROUPING_WS_ASMX.as
mx' using WS-Metadata Exchange or DISCO.
Error: Cannot import wsdl:binding
Detail: The required WSDL extension element 'binding' from namespace 'http://sch
emas.xmlsoap.org/wsdl/http/' was not handled.
XPath to Error Source: //wsdl:definitions[#targetNamespace='http://grouping/']/wsdl:binding[#name='GROUPING_WS_ASMXHttpGet']
Error: Cannot import wsdl:port
Detail: There was an error importing a wsdl:binding that the wsdl:port is depend
ent on.
XPath to wsdl:binding: //wsdl:definitions[#targetNamespace='http://grouping/']/wsdl:binding[#name='GROUPING_WS_ASMXHttpGet']
XPath to Error Source: //wsdl:definitions[#targetNamespace='http://grouping/']/wsdl:service[#name='GROUPING_WS_ASMX']/wsdl:port[#name='GROUPING_WS_ASM
XHttpGet']
Error: Cannot import wsdl:binding
Detail: The required WSDL extension element 'binding' from namespace 'http://sch
emas.xmlsoap.org/wsdl/http/' was not handled.
XPath to Error Source: //wsdl:definitions[#targetNamespace='http://grouping/']/wsdl:binding[#name='GROUPING_WS_ASMXHttpPost']
Error: Cannot import wsdl:port
Detail: There was an error importing a wsdl:binding that the wsdl:port is depend
ent on.
XPath to wsdl:binding: //wsdl:definitions[#targetNamespace='http://grouping/']/wsdl:binding[#name='GROUPING_WS_ASMXHttpPost']
XPath to Error Source: //wsdl:definitions[#targetNamespace='http://grouping']/wsdl:service[#name='GROUPING_WS_ASMX']/wsdl:port[#name='GROUPING_WS_ASM
XHttpPost']
Here is my WSDL definition:
<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" targetNamespace="http://grouping/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/"
xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://grouping/"
xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/">
<wsdl:types><s:schema targetNamespace="http://grouping/" elementFormDefault="qualified">
<s:element name="OnClick_GroupProducts"><s:complexType><s:sequence><s:element name="quoteProductsId" type="s:string" maxOccurs="1" minOccurs="0"/>
</s:sequence></s:complexType></s:element><s:element name="OnClick_GroupProductsResponse">
<s:complexType><s:sequence><s:element name="OnClick_GroupProductsResult" type="s:string" maxOccurs="1" minOccurs="0"/>
</s:sequence>
</s:complexType>
</s:element>
<s:element name="OnClick_UpdateGroupProduct">
<s:complexType>
<s:sequence>
<s:element name="quoteProductsId" type="s:string" maxOccurs="1" minOccurs="0"/><s:element name="groupname" type="s:string" maxOccurs="1" minOccurs="0"/>
</s:sequence></s:complexType>
</s:element><s:element name="OnClick_UpdateGroupProductResponse">
<s:complexType/>
</s:element>
<s:element name="OnLoad_GetProductGroups">
<s:complexType>
<s:sequence>
<s:element name="quoteProductId" type="s:string" maxOccurs="1" minOccurs="0"/>
</s:sequence>
</s:complexType>
</s:element>
<s:element name="OnLoad_GetProductGroupsResponse">
<s:complexType>
<s:sequence>
<s:element name="OnLoad_GetProductGroupsResult" type="tns:ArrayOfString" maxOccurs="1" minOccurs="0"/>
</s:sequence>
</s:complexType>
</s:element>
<s:complexType name="ArrayOfString">
<s:sequence>
<s:element name="string" type="s:string" maxOccurs="unbounded" minOccurs="0" nillable="true"/>
</s:sequence></s:complexType><s:element name="string" type="s:string" nillable="true"/>
<s:element name="ArrayOfString" type="tns:ArrayOfString" nillable="true"/>
</s:schema></wsdl:types><wsdl:message name="OnClick_GroupProductsSoapIn">
<wsdl:part name="parameters" element="tns:OnClick_GroupProducts"/>
</wsdl:message><wsdl:message name="OnClick_GroupProductsSoapOut">
<wsdl:part name="parameters" element="tns:OnClick_GroupProductsResponse"/></wsdl:message>
<wsdl:message name="OnClick_UpdateGroupProductSoapIn"><wsdl:part name="parameters" element="tns:OnClick_UpdateGroupProduct"/></wsdl:message>
<wsdl:message name="OnClick_UpdateGroupProductSoapOut"><wsdl:part name="parameters" element="tns:OnClick_UpdateGroupProductResponse"/></wsdl:message>
<wsdl:message name="OnLoad_GetProductGroupsSoapIn"><wsdl:part name="parameters" element="tns:OnLoad_GetProductGroups"/></wsdl:message>
<wsdl:message name="OnLoad_GetProductGroupsSoapOut"><wsdl:part name="parameters" element="tns:OnLoad_GetProductGroupsResponse"/></wsdl:message>
<wsdl:message name="OnClick_GroupProductsHttpGetIn"><wsdl:part name="quoteProductsId" type="s:string"/></wsdl:message>
<wsdl:message name="OnClick_GroupProductsHttpGetOut"><wsdl:part name="Body" element="tns:string"/></wsdl:message>
<wsdl:message name="OnClick_UpdateGroupProductHttpGetIn"><wsdl:part name="quoteProductsId" type="s:string"/><wsdl:part name="groupname" type="s:string"/></wsdl:message>
<wsdl:message name="OnClick_UpdateGroupProductHttpGetOut"/><wsdl:message name="OnLoad_GetProductGroupsHttpGetIn"><wsdl:part name="quoteProductId" type="s:string"/></wsdl:message>
<wsdl:message name="OnLoad_GetProductGroupsHttpGetOut"><wsdl:part name="Body" element="tns:ArrayOfString"/></wsdl:message>
<wsdl:message name="OnClick_GroupProductsHttpPostIn"><wsdl:part name="quoteProductsId" type="s:string"/></wsdl:message>
<wsdl:message name="OnClick_GroupProductsHttpPostOut"><wsdl:part name="Body" element="tns:string"/></wsdl:message>
<wsdl:message name="OnClick_UpdateGroupProductHttpPostIn"><wsdl:part name="quoteProductsId" type="s:string"/><wsdl:part name="groupname" type="s:string"/></wsdl:message>
<wsdl:message name="OnClick_UpdateGroupProductHttpPostOut"/><wsdl:message name="OnLoad_GetProductGroupsHttpPostIn"><wsdl:part name="quoteProductId" type="s:string"/></wsdl:message>
<wsdl:message name="OnLoad_GetProductGroupsHttpPostOut"><wsdl:part name="Body" element="tns:ArrayOfString"/></wsdl:message>
<wsdl:portType name="GROUPING_WS_ASMXSoap"><wsdl:operation name="OnClick_GroupProducts"><wsdl:input message="tns:OnClick_GroupProductsSoapIn"/>
<wsdl:output message="tns:OnClick_GroupProductsSoapOut"/></wsdl:operation><wsdl:operation name="OnClick_UpdateGroupProduct"><wsdl:input message="tns:OnClick_UpdateGroupProductSoapIn"/>
<wsdl:output message="tns:OnClick_UpdateGroupProductSoapOut"/></wsdl:operation><wsdl:operation name="OnLoad_GetProductGroups"><wsdl:input message="tns:OnLoad_GetProductGroupsSoapIn"/>
<wsdl:output message="tns:OnLoad_GetProductGroupsSoapOut"/></wsdl:operation></wsdl:portType><wsdl:portType name="GROUPING_WS_ASMXHttpGet"><wsdl:operation name="OnClick_GroupProducts">
<wsdl:input message="tns:OnClick_GroupProductsHttpGetIn"/><wsdl:output message="tns:OnClick_GroupProductsHttpGetOut"/></wsdl:operation><wsdl:operation name="OnClick_UpdateGroupProduct">
<wsdl:input message="tns:OnClick_UpdateGroupProductHttpGetIn"/><wsdl:output message="tns:OnClick_UpdateGroupProductHttpGetOut"/></wsdl:operation><wsdl:operation name="OnLoad_GetProductGroups">
<wsdl:input message="tns:OnLoad_GetProductGroupsHttpGetIn"/><wsdl:output message="tns:OnLoad_GetProductGroupsHttpGetOut"/></wsdl:operation></wsdl:portType>
<wsdl:portType name="GROUPING_WS_ASMXHttpPost"><wsdl:operation name="OnClick_GroupProducts"><wsdl:input message="tns:OnClick_GroupProductsHttpPostIn"/>
<wsdl:output message="tns:OnClick_GroupProductsHttpPostOut"/></wsdl:operation><wsdl:operation name="OnClick_UpdateGroupProduct">
<wsdl:input message="tns:OnClick_UpdateGroupProductHttpPostIn"/><wsdl:output message="tns:OnClick_UpdateGroupProductHttpPostOut"/>
</wsdl:operation><wsdl:operation name="OnLoad_GetProductGroups"><wsdl:input message="tns:OnLoad_GetProductGroupsHttpPostIn"/>
<wsdl:output message="tns:OnLoad_GetProductGroupsHttpPostOut"/></wsdl:operation></wsdl:portType><wsdl:binding name="GROUPING_WS_ASMXSoap" type="tns:GROUPING_WS_ASMXSoap">
<soap:binding transport="http://schemas.xmlsoap.org/soap/http"/><wsdl:operation name="OnClick_GroupProducts">
<soap:operation style="document" soapAction="http://grouping/OnClick_GroupProducts"/><wsdl:input>
<soap:body use="literal"/></wsdl:input><wsdl:output><soap:body use="literal"/></wsdl:output></wsdl:operation><wsdl:operation name="OnClick_UpdateGroupProduct">
<soap:operation style="document" soapAction="http://grouping/OnClick_UpdateGroupProduct"/><wsdl:input><soap:body use="literal"/></wsdl:input><wsdl:output>
<soap:body use="literal"/></wsdl:output></wsdl:operation><wsdl:operation name="OnLoad_GetProductGroups">
<soap:operation style="document" soapAction="http://grouping/OnLoad_GetProductGroups"/><wsdl:input><soap:body use="literal"/>
</wsdl:input><wsdl:output><soap:body use="literal"/></wsdl:output></wsdl:operation></wsdl:binding><wsdl:binding name="GROUPING_WS_ASMXSoap12" type="tns:GROUPING_WS_ASMXSoap">
<soap12:binding transport="http://schemas.xmlsoap.org/soap/http"/><wsdl:operation name="OnClick_GroupProducts">
<soap12:operation style="document" soapAction="http://groupingOnClick_GroupProducts"/><wsdl:input>
<soap12:body use="literal"/></wsdl:input><wsdl:output><soap12:body use="literal"/></wsdl:output></wsdl:operation><wsdl:operation name="OnClick_UpdateGroupProduct">
<soap12:operation style="document" soapAction="http://grouping/OnClick_UpdateGroupProduct"/><wsdl:input><soap12:body use="literal"/></wsdl:input>
<wsdl:output><soap12:body use="literal"/></wsdl:output></wsdl:operation><wsdl:operation name="OnLoad_GetProductGroups">
<soap12:operation style="document" soapAction="http://grouping/OnLoad_GetProductGroups"/><wsdl:input><soap12:body use="literal"/></wsdl:input><wsdl:output>
<soap12:body use="literal"/></wsdl:output></wsdl:operation></wsdl:binding><wsdl:binding name="GROUPING_WS_ASMXHttpGet" type="tns:GROUPING_WS_ASMXHttpGet">
<http:binding verb="GET"/><wsdl:operation name="OnClick_GroupProducts"><http:operation location="/OnClick_GroupProducts"/><wsdl:input><http:urlEncoded/>
</wsdl:input><wsdl:output><mime:mimeXml part="Body"/></wsdl:output></wsdl:operation><wsdl:operation name="OnClick_UpdateGroupProduct">
<http:operation location="/OnClick_UpdateGroupProduct"/><wsdl:input><http:urlEncoded/></wsdl:input><wsdl:output/></wsdl:operation><wsdl:operation name="OnLoad_GetProductGroups">
<http:operation location="/OnLoad_GetProductGroups"/><wsdl:input><http:urlEncoded/></wsdl:input><wsdl:output><mime:mimeXml part="Body"/></wsdl:output></wsdl:operation>
</wsdl:binding><wsdl:binding name="GROUPING_WS_ASMXHttpPost" type="tns:GROUPING_WS_ASMXHttpPost"><http:binding verb="POST"/><wsdl:operation name="OnClick_GroupProducts">
<http:operation location="/OnClick_GroupProducts"/><wsdl:input><mime:content type="application/x-www-form-urlencoded"/></wsdl:input><wsdl:output><mime:mimeXml part="Body"/>
</wsdl:output></wsdl:operation><wsdl:operation name="OnClick_UpdateGroupProduct"><http:operation location="/OnClick_UpdateGroupProduct"/>
<wsdl:input><mime:content type="application/x-www-form-urlencoded"/></wsdl:input><wsdl:output/></wsdl:operation><wsdl:operation name="OnLoad_GetProductGroups">
<http:operation location="/OnLoad_GetProductGroups"/><wsdl:input><mime:content type="application/x-www-form-urlencoded"/></wsdl:input><wsdl:output><mime:mimeXml part="Body"/>
</wsdl:output></wsdl:operation></wsdl:binding><wsdl:service name="GROUPING_WS_ASMX"><wsdl:port name="GROUPING_WS_ASMXSoap" binding="tns:GROUPING_WS_ASMXSoap">
<soap:address location="http://srv:13208/GROUPING_WS_ASMX.asmx"/></wsdl:port><wsdl:port name="GROUPING_WS_ASMXSoap12" binding="tns:GROUPING_WS_ASMXSoap12">
<soap12:address location="http://srv:13208/GROUPING_WS_ASMX.asmx"/></wsdl:port><wsdl:port name="GROUPING_WS_ASMXHttpGet" binding="tns:GROUPING_WS_ASMXHttpGet">
<http:address location="http://srv:13208/GROUPING_WS_ASMX.asmx"/></wsdl:port><wsdl:port name="GROUPING_WS_ASMXHttpPost" binding="tns:GROUPING_WS_ASMXHttpPost">
<http:address location="http://srv:13208/GROUPING_WS_ASMX.asmx"/></wsdl:port></wsdl:service></wsdl:definitions>
Any help will be much appreciated.
Best,
Jeppen

Turns out that Silverlight does not like the XHttpPost biding.
So I remvoed this binding in my web.config from the web service and all is up an running.

Related

generate EJB from WSDL with wsdl2java

how do I generate fully annotated Java code from which to implement this sample temperature converter service?
<wsdl:definitions targetNamespace="https://www.w3schools.com/xml/">
<wsdl:types>
<s:schema elementFormDefault="qualified" targetNamespace="https://www.w3schools.com/xml/">
<s:element name="FahrenheitToCelsius">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="Fahrenheit" type="s:string"/>
</s:sequence>
</s:complexType>
</s:element>
<s:element name="FahrenheitToCelsiusResponse">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="FahrenheitToCelsiusResult" type="s:string"/>
</s:sequence>
</s:complexType>
</s:element>
<s:element name="CelsiusToFahrenheit">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="Celsius" type="s:string"/>
</s:sequence>
</s:complexType>
</s:element>
<s:element name="CelsiusToFahrenheitResponse">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="CelsiusToFahrenheitResult" type="s:string"/>
</s:sequence>
</s:complexType>
</s:element>
<s:element name="string" nillable="true" type="s:string"/>
</s:schema>
</wsdl:types>
<wsdl:message name="FahrenheitToCelsiusSoapIn">
<wsdl:part name="parameters" element="tns:FahrenheitToCelsius"/>
</wsdl:message>
<wsdl:message name="FahrenheitToCelsiusSoapOut">
<wsdl:part name="parameters" element="tns:FahrenheitToCelsiusResponse"/>
</wsdl:message>
<wsdl:message name="CelsiusToFahrenheitSoapIn">
<wsdl:part name="parameters" element="tns:CelsiusToFahrenheit"/>
</wsdl:message>
<wsdl:message name="CelsiusToFahrenheitSoapOut">
<wsdl:part name="parameters" element="tns:CelsiusToFahrenheitResponse"/>
</wsdl:message>
<wsdl:message name="FahrenheitToCelsiusHttpPostIn">
<wsdl:part name="Fahrenheit" type="s:string"/>
</wsdl:message>
<wsdl:message name="FahrenheitToCelsiusHttpPostOut">
<wsdl:part name="Body" element="tns:string"/>
</wsdl:message>
<wsdl:message name="CelsiusToFahrenheitHttpPostIn">
<wsdl:part name="Celsius" type="s:string"/>
</wsdl:message>
<wsdl:message name="CelsiusToFahrenheitHttpPostOut">
<wsdl:part name="Body" element="tns:string"/>
</wsdl:message>
<wsdl:portType name="TempConvertSoap">
<wsdl:operation name="FahrenheitToCelsius">
<wsdl:input message="tns:FahrenheitToCelsiusSoapIn"/>
<wsdl:output message="tns:FahrenheitToCelsiusSoapOut"/>
</wsdl:operation>
<wsdl:operation name="CelsiusToFahrenheit">
<wsdl:input message="tns:CelsiusToFahrenheitSoapIn"/>
<wsdl:output message="tns:CelsiusToFahrenheitSoapOut"/>
</wsdl:operation>
</wsdl:portType>
<wsdl:portType name="TempConvertHttpPost">
<wsdl:operation name="FahrenheitToCelsius">
<wsdl:input message="tns:FahrenheitToCelsiusHttpPostIn"/>
<wsdl:output message="tns:FahrenheitToCelsiusHttpPostOut"/>
</wsdl:operation>
<wsdl:operation name="CelsiusToFahrenheit">
<wsdl:input message="tns:CelsiusToFahrenheitHttpPostIn"/>
<wsdl:output message="tns:CelsiusToFahrenheitHttpPostOut"/>
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="TempConvertSoap" type="tns:TempConvertSoap">
<soap:binding transport="http://schemas.xmlsoap.org/soap/http"/>
<wsdl:operation name="FahrenheitToCelsius">
<soap:operation soapAction="https://www.w3schools.com/xml/FahrenheitToCelsius" style="document"/>
<wsdl:input>
<soap:body use="literal"/>
</wsdl:input>
<wsdl:output>
<soap:body use="literal"/>
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="CelsiusToFahrenheit">
<soap:operation soapAction="https://www.w3schools.com/xml/CelsiusToFahrenheit" 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="TempConvertSoap12" type="tns:TempConvertSoap">
<soap12:binding transport="http://schemas.xmlsoap.org/soap/http"/>
<wsdl:operation name="FahrenheitToCelsius">
<soap12:operation soapAction="https://www.w3schools.com/xml/FahrenheitToCelsius" style="document"/>
<wsdl:input>
<soap12:body use="literal"/>
</wsdl:input>
<wsdl:output>
<soap12:body use="literal"/>
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="CelsiusToFahrenheit">
<soap12:operation soapAction="https://www.w3schools.com/xml/CelsiusToFahrenheit" 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="TempConvertHttpPost" type="tns:TempConvertHttpPost">
<http:binding verb="POST"/>
<wsdl:operation name="FahrenheitToCelsius">
<http:operation location="/FahrenheitToCelsius"/>
<wsdl:input>
<mime:content type="application/x-www-form-urlencoded"/>
</wsdl:input>
<wsdl:output>
<mime:mimeXml part="Body"/>
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="CelsiusToFahrenheit">
<http:operation location="/CelsiusToFahrenheit"/>
<wsdl:input>
<mime:content type="application/x-www-form-urlencoded"/>
</wsdl:input>
<wsdl:output>
<mime:mimeXml part="Body"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="TempConvert">
<wsdl:port name="TempConvertSoap" binding="tns:TempConvertSoap">
<soap:address location="http://www.w3schools.com/xml/tempconvert.asmx"/>
</wsdl:port>
<wsdl:port name="TempConvertSoap12" binding="tns:TempConvertSoap12">
<soap12:address location="http://www.w3schools.com/xml/tempconvert.asmx"/>
</wsdl:port>
<wsdl:port name="TempConvertHttpPost" binding="tns:TempConvertHttpPost">
<http:address location="http://www.w3schools.com/xml/tempconvert.asmx"/>
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
This is what I've generated through Netbeans by clicking "new web service from WSDL":
package net.bounceme.dur.wsdl.consume;
import javax.ejb.Stateless;
import javax.xml.ws.ServiceMode;
import javax.xml.ws.WebServiceProvider;
#Stateless
#ServiceMode(value = javax.xml.ws.Service.Mode.PAYLOAD)
#WebServiceProvider(serviceName = "TempConvert", portName = "TempConvertSoap", targetNamespace = "https://www.w3schools.com/xml/", wsdlLocation = "WEB-INF/wsdl/NewWebServiceFromWSDL1/www.w3schools.com/xml/tempconvert.asmx.wsdl")
public class TempConvertFromWSDL implements javax.xml.ws.Provider<javax.xml.transform.Source> {
#Override
public javax.xml.transform.Source invoke(javax.xml.transform.Source source) {
throw new UnsupportedOperationException("Not implemented yet.");
}
}
This code seems lacking.
(Notably, at least to me, is that the URL isn't quite, exactly, matched in the generated annotations for the class.)
This is in order to inject into a Servlet.

incorrect value: unknown namespace http://www.w3.org/2001/xmlschema

I am trying to consume external Web service(WSDL FILE) in sap for data integration when i tired to create client proxy in sap and gives service provider webservice URL http://172.31.3.48:8717/?wsdl it gives me proxy generation error it giving me a error of "liberary haldler exception" " incorrect value: unknown namespace http://www.w3.org/2001/xmlschema" . I am facing this error in just in this file which provided by my services provider , except this all of the wsdl file generated successfully one the file which generated suceesfully is this http://www.webservicex.net/stockquote.asmx?WSDL.
your help will be appreciated.
Given below is my Wsdl file which giving me error..
<?xml version="1.0" encoding="utf-8"?>
<wsdl:definitions xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:tns="http://tempuri.org/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" targetNamespace="http://tempuri.org/">
<wsdl:types>
<s:schema elementFormDefault="qualified" targetNamespace="http://tempuri.org/">
<s:element name="GetData">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="user" type="s:string"/>
<s:element minOccurs="0" maxOccurs="1" name="pass" type="s:string"/>
<s:element minOccurs="0" maxOccurs="1" name="fromdate" type="s:string"/>
<s:element minOccurs="0" maxOccurs="1" name="todate" type="s:string"/>
</s:sequence>
</s:complexType>
</s:element>
<s:element name="GetDataResponse">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="GetDataResult">
<s:complexType>
<s:sequence>
<s:element ref="s:schema"/>
<s:any/>
</s:sequence>
</s:complexType>
</s:element>
</s:sequence>
</s:complexType>
</s:element>
</s:schema>
</wsdl:types>
<wsdl:message name="GetDataSoapIn">
<wsdl:part name="parameters" element="tns:GetData"/>
</wsdl:message>
<wsdl:message name="GetDataSoapOut">
<wsdl:part name="parameters" element="tns:GetDataResponse"/>
</wsdl:message>
<wsdl:portType name="WSCRPL9001Soap">
<wsdl:operation name="GetData">
<wsdl:input message="tns:GetDataSoapIn"/>
<wsdl:output message="tns:GetDataSoapOut"/>
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="WSCRPL9001Soap" type="tns:WSCRPL9001Soap">
<soap:binding transport="http://schemas.xmlsoap.org/soap/http"/>
<wsdl:operation name="GetData">
<soap:operation soapAction="http://tempuri.org/GetData" 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="WSCRPL9001Soap12" type="tns:WSCRPL9001Soap">
<soap12:binding transport="http://schemas.xmlsoap.org/soap/http"/>
<wsdl:operation name="GetData">
<soap12:operation soapAction="http://tempuri.org/GetData" style="document"/>
<wsdl:input>
<soap12:body use="literal"/>
</wsdl:input>
<wsdl:output>
<soap12:body use="literal"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="WSCRPL9001">
<wsdl:port name="WSCRPL9001Soap" binding="tns:WSCRPL9001Soap">
<soap:address location="http://172.31.3.48:8717/WS-CRPL-9001.asmx"/>
</wsdl:port>
<wsdl:port name="WSCRPL9001Soap12" binding="tns:WSCRPL9001Soap12">
<soap12:address location="http://172.31.3.48:8717/WS-CRPL-9001.asmx"/>
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
Something seems off with this element. An element that directly references the schema is pretty strange to me - I've never seen such structure:
<s:element name="GetDataResponse">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="GetDataResult">
<s:complexType>
<s:sequence>
<s:element ref="s:schema" />
<s:any />
</s:sequence>
</s:complexType>
</s:element>
</s:sequence>
</s:complexType>
</s:element>
I've validated your WSDL in Eclipse - see what Eclipse says for this WSDL:
Error resolving component 's:schema'. It was detected that 's:schema' is in namespace 'http://www.w3.org/2001/XMLSchema', but components from this namespace are not referenceable from schema document 'file:///WSDLTEST.wsdl'. If this is the incorrect namespace, perhaps the prefix of 's:schema' needs to be changed. If this is the correct namespace, then an appropriate 'import' tag should be added to 'file:///WSDL.wsdl'.
Try removing <s:element ref="s:schema" /> line altogether and see if it works for you. Or describe the sequence element by element the way it's been done for the request GetData.

wsimport - Confusing WARNINGS

Hi i'm newbie working with wsdl, xsd and web services... I must generate some class from a wsdl generated in EA.
I found some problems trying to import 2 local schemas on same namespace, so my workaround was include schemas.
But now i find an Error that i can't resolve:
[ERROR] XML type "{http://www.iTEC.aero/AMANSequence}filter" could not be resolved, XML to JAVA binding failed! Please check the wsdl:part "filter" in the wsdl:message " {http://www.iTEC.aero
/AMANSequence}amanMessageFilter". line 75 of ***.wsdl
WSDL
<?xml version='1.0' encoding='UTF-8'?>
<wsdl:definitions name="iSwimService"
targetNamespace="http://www.iTEC.aero/AMANSequence"
xmlns:ns1="http://schemas.xmlsoap.org/soap/http"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:tns="http://www.iTEC.aero/AMANSequence"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:xs="http://www.w3.org/2001/XMLSchema">
<!--TYPES-->
<wsdl:types>
<xs:schema elementFormDefault="qualified" version="1.0"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:seq="http://www.iTEC.aero/AMANSequence"
targetNamespace="http://www.iTEC.aero/AMANSequence">
<xs:include schemaLocation="AMANFilter.xsd" />
<xs:include schemaLocation="AMANSequence.xsd" />
<xs:element name="filter" type="seq:AMANSequenceFilterType" />
<xs:element name="sequence" type="seq:AMANSequence" />
</xs:schema>
</wsdl:types>
<!-- MESSAGES -->
<wsdl:message name="amanMessageSequence">
<wsdl:part type="tns:sequence" name="sequence" />
</wsdl:message>
<wsdl:message name="amanMessageFilter">
<wsdl:part type="tns:filter" name="filter" />
</wsdl:message>
<wsdl:message name="amanMessageSubscription">
<wsdl:part type="xs:string" name="stakeholderId" />
<wsdl:part type="tns:filter" name="filter" />
</wsdl:message>
<wsdl:message name="amanMessageUnSubscription">
<wsdl:part type="xs:string" name="stakeholderId" />
</wsdl:message>
<wsdl:message name="amanMessageReturn">
<wsdl:part type="xs:string" name="returnValue" />
</wsdl:message>
<wsdl:message name="amanFaultMessage">
<wsdl:part name="operationName" type="xs:string"/>
<wsdl:part name="errorCode" type="xs:string"/>
<wsdl:part name="errorMessage" type="xs:string"/>
</wsdl:message>
<!-- PORT TYPES -->
<wsdl:portType name="AMANSequenceInfo">
<wsdl:operation name="getAMANSequence">
<wsdl:input message="tns:amanMessageFilter" />
<wsdl:output message="tns:amanMessageSequence"/>
<wsdl:fault message="tns:amanFaultMessage" name="faultMessage"/>
</wsdl:operation>
<wsdl:operation name="publishAMANSequence">
<wsdl:input message="tns:amanMessageSequence" />
<wsdl:output message="tns:amanMessageReturn" />
<wsdl:fault message="tns:amanFaultMessage" name="faultMessage"/>
</wsdl:operation>
</wsdl:portType>
<wsdl:portType name="AMANSequenceSubscription">
<wsdl:operation name="subscribeToAMANSequence">
<wsdl:input message="tns:amanMessageSubscription" />
<wsdl:output message="tns:amanMessageReturn" />
<wsdl:fault message="tns:amanFaultMessage" name="faultMessage"/>
</wsdl:operation>
<wsdl:operation name="unsubscribeToAMANSequence">
<wsdl:input message="tns:amanMessageUnSubscription" />
<wsdl:output message="tns:amanMessageReturn" />
<wsdl:fault message="tns:amanFaultMessage" name="faultMessage"/>
</wsdl:operation>
</wsdl:portType>
<!-- BINDING -->
<wsdl:binding name="AMANSequenceInfoSOAP" type="tns:AMANSequenceInfo">
<soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http" />
<!--
return the sequence data according to the filters provided.
if no filter is provided, all the sequence data for this aman is provided
-->
<wsdl:operation name="getAMANSequence">
<soap:operation soapAction="http://www.iTEC.aero/getAMANSequence" />
<wsdl:input>
<soap:body use="literal" namespace="http://www.iTEC.aero/AMANSequence" />
</wsdl:input>
<wsdl:output>
<soap:body use="literal" namespace="http://www.iTEC.aero/AMANSequence"/>
</wsdl:output>
</wsdl:operation>
<!--
A request/reply operation deployed in the iMAS ESB.
The invocation of this operation will trigger a request in the iMAS ESB for distributing
this information to several stakeholders in a async way
-->
<wsdl:operation name="publishAMANSequence">
<soap:operation soapAction="http://www.iTEC.aero/publishAMANSequence" />
<wsdl:input>
<soap:body use="literal" />
</wsdl:input>
<wsdl:output>
<soap:body use="literal" />
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:binding name="AMANSequenceSubscriptionSOAP" type="tns:AMANSequenceSubscription">
<soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http" />
<!--
subscribe to the corresponding aman indicating the filter with the information the customer is interested in receiving.
The stakeholderId is also provided in this operation to manage the publication of the information
-->
<wsdl:operation name="subscribeToAMANSequence">
<soap:operation soapAction="" />
<wsdl:input>
<soap:body use="literal" />
</wsdl:input>
<wsdl:output>
<soap:body use="literal" />
</wsdl:output>
</wsdl:operation>
<!--
unsubscribe to the corresponding aman indicating the filter with the information the customer is interested in receiving.
The stakeholderId is also provided in this operation to manage the publication of the information
-->
<wsdl:operation name="unsubscribeToAMANSequence">
<soap:operation soapAction="" />
<wsdl:input>
<soap:body use="literal" />
</wsdl:input>
<wsdl:output>
<soap:body use="literal" />
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<!-- SERVICES -->
<wsdl:service name="AMANSequenceInfo">
<wsdl:port binding="tns:AMANSequenceInfoSOAP" name="AMANSequenceInfoService">
<soap:address location="null" />
</wsdl:port>
<wsdl:port binding="tns:AMANSequenceSubscriptionSOAP" name="AMANSequenceSubscriptionService">
<soap:address location="null" />
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
FILTER XSD
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema version="0.1"
elementFormDefault="qualified"
targetNamespace="http://www.iTEC.aero/AMANSequence"
xmlns:filter="http://www.iTEC.aero/AMANSequence"
xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:complexType name="AMANSequenceFilterType">
<xs:sequence>
<xs:element name="filterRows" type="filter:FilterRowType" minOccurs="1" maxOccurs="1" />
<xs:element name="filterColumns" type="filter:FilterColumnsType" minOccurs="1" maxOccurs="1" />
<xs:element name="filterUpdate" type="filter:FilterUpdatedType" minOccurs="1" maxOccurs="1" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="FilterRowType">
<xs:annotation>
<xs:documentation>These filters are based on the ""DomainOfinterest" class in the logical model</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="fixName" type="xs:string" minOccurs="1" maxOccurs="1" />
<xs:element name="typeOfFix" type="xs:string" minOccurs="1" maxOccurs="1" />
<xs:element name="departureAerodrome" type="xs:string" minOccurs="1" maxOccurs="1" />
<xs:element name="destinationAerodrome" type="xs:string" minOccurs="1" maxOccurs="1" />
<xs:element name="runwayDirection" type="xs:string" minOccurs="1" maxOccurs="1" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="FilterColumnsType">
<xs:annotation>
<xs:documentation>These filters are based on filter example discussed in the SICG</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="sequenceNumber" type="xs:string" minOccurs="1" maxOccurs="1" />
<xs:element name="RunwayId" type="xs:string" minOccurs="1" maxOccurs="1" />
<xs:element name="LandingTime" type="xs:string" minOccurs="1" maxOccurs="1" />
<xs:element name="CallSign" type="xs:string" minOccurs="1" maxOccurs="1" />
<xs:element name="MF" type="xs:string" minOccurs="1" maxOccurs="1" />
<xs:element name="OTA" type="xs:string" minOccurs="1" maxOccurs="1" />
<xs:element name="TTL" type="xs:string" minOccurs="1" maxOccurs="1" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="FilterUpdatedType">
<xs:annotation>
<xs:documentation>These filters are based on filter example discussed in the SICG</xs:documentation>
</xs:annotation>
<xs:choice>
<xs:element name="periodic" type="xs:string" minOccurs="1" maxOccurs="1" />
<xs:element name="sequenceEntryOnChange" type="xs:string" minOccurs="1" maxOccurs="1" />
</xs:choice>
</xs:complexType>
</xs:schema>
If somebody can help ;!!
SOLVED
I changed binding style to document.
Create complexType in the schema for messages with multiple parts and compile without errors or warnings.

versioning of wsdl contracts

Can Anyone tell me way to version Wsdl contracts(wsdl first service) for major and minor versions.any running example will be very helpful.
The way I m following to version my wsdl is this.I am following Iona webservices versioning guidlines
<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions name="ProductServiceImplServicev2"
targetNamespace="http://service.dtechtalkcenter.com/servicev2"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:tns="http://service.dtechtalkcenter.com/servicev2"
xmlns:xsd="http://www.w3.org/2001/XMLSchema" `enter code here`
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:v2_0="http://service.dtechtalkcenter.com/servicev2.0"
xmlns:v2_1="http://service.dtechtalkcenter.com/servicev2.1">
<wsdl:types>
<xsd:schema elementFormDefault="unqualified" targetNamespace="http://service.dtechtalkcenter.com/servicev2.0">
<xsd:element name="addProduct" type="v2_0:addProduct"/>
<xsd:element name="addProductResponse" type="v2_0:addProductResponse"/>
<xsd:element name="getProducts" type="v2_0:getProducts"/>
<xsd:element name="getProductsResponse" type="v2_0:getProductsResponse"/>
<xsd:complexType name="getProducts">
<xsd:sequence/>
</xsd:complexType>
<xsd:complexType name="getProductsResponse">
<xsd:sequence>
<xsd:element maxOccurs="unbounded" minOccurs="0" name="return" type="v2_0:product"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="product">
<xsd:sequence>
<xsd:element name="cast" type="xsd:double"/>
<xsd:element minOccurs="0" name="productCategory" type="xsd:string"/>
<xsd:element minOccurs="0" name="productDetails" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="addProduct">
<xsd:sequence>
<xsd:element minOccurs="0" name="product" type="v2_0:product"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="addProductResponse">
<xsd:sequence/>
</xsd:complexType>
</xsd:schema>
</wsdl:types>
<wsdl:message name="addProductResponse">
<wsdl:part name="parameters" element="v2_0:addProductResponse">
</wsdl:part>
</wsdl:message>
<wsdl:message name="getProducts">
<wsdl:part name="parameters" element="v2_0:getProducts">
</wsdl:part>
</wsdl:message>
<wsdl:message name="addProduct">
<wsdl:part name="parameters" element="v2_0:addProduct">
</wsdl:part>
</wsdl:message>
<wsdl:message name="getProductsResponse">
<wsdl:part name="parameters" element="v2_0:getProductsResponse">
</wsdl:part>
</wsdl:message>
<wsdl:portType name="ProductService_v2_0">
<wsdl:operation name="getProducts">
<wsdl:input name="getProducts" message="tns:getProducts">
</wsdl:input>
<wsdl:output name="getProductsResponse" message="tns:getProductsResponse">
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="addProduct">
<wsdl:input name="addProduct" message="tns:addProduct">
</wsdl:input>
<wsdl:output name="addProductResponse" message="tns:addProductResponse">
</wsdl:output>
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="ProductServiceImplService_v2_0_SoapBinding" type="tns:ProductService_v2_0">
<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
<wsdl:operation name="getProducts">
<soap:operation soapAction="" style="document"/>
<wsdl:input name="getProducts">
<soap:body use="literal"/>
</wsdl:input>
<wsdl:output name="getProductsResponse">
<soap:body use="literal"/>
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="addProduct">
<soap:operation soapAction="" style="document"/>
<wsdl:input name="addProduct">
<soap:body use="literal"/>
</wsdl:input>
<wsdl:output name="addProductResponse">
<soap:body use="literal"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="ProductServiceImplService_v2_0">
<wsdl:port name="ProductServiceImplPort" binding="tns:ProductServiceImplService_v2_0_SoapBinding">
<soap:address location="http://localhost:8088/VersionService/services/ProductServiceImplPort"/>
</wsdl:port>
</wsdl:service>
</wsdl:definitions>

Generate a Web Service Client in WS-I compliance mode

I'm trying to create a web service client using Visual Studio 2010.
The client works very well if I use the wsdl file in version SOAP V2.
When I set the property WS-I Compliance to Yes in Magento and recompile the web service client in VS2010, it doesn't work!!! Some methods disappear from the resulting WSDL file.
I've found the same problem if I generate a java web service client using the tool wsimport.
Any idea of what's happening?
I ran into the same issue and instead of commenting out the catalogProductAttributeRemove, I actually looked into what was missing and added the additional sections to my wsi.xml file. Thanks to Juanma R. for pointing me in the direction of the file that needed to be corrected.
I referenced the entries for catalogProductAttributeCreate as a reference point for what other sections might need to exist to fix this. I don't really know anything about WSDL, just tried looking for what could be missing.
After I changed the file I refreshed all caches in Magento and confirmed the new entries were showing up in the WSDL file at /index.php/api/v2_soap?wsdl=1. I then removed the web reference that was added to VS 2010 and went through the steps of adding the web reference again. This time after adding it I got no errors.
The version of Magento that I was patching is Magento Enterprise 1.12.0.2 but I expect it's applicable to other versions that show this same error with catalogProductAttributeRemove.
Here is a quick diff I ran of what I changed in the wsi.xml file:
*** Z:\mage-1-12-0-2.dev\htdocs\app\code\core\Mage\Catalog\etc\wsi - Copy.xml backup Tue Jul 3 12:08:31 2012 UTC
--- Z:\mage-1-12-0-2.dev\htdocs\app\code\core\Mage\Catalog\etc\wsi.xml Fri Nov 9 18:40:58 2012 UTC
***************
*** 1509,1520 ****
<xsd:complexType>
<xsd:sequence>
<xsd:element minOccurs="1" maxOccurs="1" name="result" type="xsd:string" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>
</wsdl:types>
<wsdl:message name="catalogProductCurrentStoreRequest">
<wsdl:part name="parameters" element="typens:catalogProductCurrentStoreRequestParam" />
</wsdl:message>
<wsdl:message name="catalogProductCurrentStoreResponse">
--- 1509,1540 ----
<xsd:complexType>
<xsd:sequence>
<xsd:element minOccurs="1" maxOccurs="1" name="result" type="xsd:string" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
+
+
+ <!-- Added by Matt Johnson 2012-11-09 to fix VS 2010 support of SOAP reference -->
+ <xsd:element name="catalogProductAttributeRemoveRequestParam">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element minOccurs="1" maxOccurs="1" name="sessionId" type="xsd:string" />
+ <xsd:element minOccurs="1" maxOccurs="1" name="attribute" type="xsd:string" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="catalogProductAttributeRemoveResponseParam">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element minOccurs="1" maxOccurs="1" name="result" type="xsd:boolean" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+
+
</xsd:schema>
</wsdl:types>
<wsdl:message name="catalogProductCurrentStoreRequest">
<wsdl:part name="parameters" element="typens:catalogProductCurrentStoreRequestParam" />
</wsdl:message>
<wsdl:message name="catalogProductCurrentStoreResponse">
***************
*** 1883,1894 ****
<wsdl:message name="catalogProductAttributeCreateRequest">
<wsdl:part name="parameters" element="typens:catalogProductAttributeCreateRequestParam" />
</wsdl:message>
<wsdl:message name="catalogProductAttributeCreateResponse">
<wsdl:part name="parameters" element="typens:catalogProductAttributeCreateResponseParam" />
</wsdl:message>
<wsdl:portType name="{{var wsdl.handler}}PortType">
<wsdl:operation name="catalogCategoryCurrentStore">
<wsdl:documentation>Set_Get current store view</wsdl:documentation>
<wsdl:input message="typens:catalogCategoryCurrentStoreRequest" />
<wsdl:output message="typens:catalogCategoryCurrentStoreResponse" />
</wsdl:operation>
--- 1903,1923 ----
<wsdl:message name="catalogProductAttributeCreateRequest">
<wsdl:part name="parameters" element="typens:catalogProductAttributeCreateRequestParam" />
</wsdl:message>
<wsdl:message name="catalogProductAttributeCreateResponse">
<wsdl:part name="parameters" element="typens:catalogProductAttributeCreateResponseParam" />
</wsdl:message>
+
+ <!-- Added by Matt Johnson 2012-11-09 to fix VS 2010 support of SOAP reference -->
+ <wsdl:message name="catalogProductAttributeRemoveRequest">
+ <wsdl:part name="parameters" element="typens:catalogProductAttributeRemoveRequestParam" />
+ </wsdl:message>
+ <wsdl:message name="catalogProductAttributeRemoveResponse">
+ <wsdl:part name="parameters" element="typens:catalogProductAttributeRemoveResponseParam" />
+ </wsdl:message>
+
<wsdl:portType name="{{var wsdl.handler}}PortType">
<wsdl:operation name="catalogCategoryCurrentStore">
<wsdl:documentation>Set_Get current store view</wsdl:documentation>
<wsdl:input message="typens:catalogCategoryCurrentStoreRequest" />
<wsdl:output message="typens:catalogCategoryCurrentStoreResponse" />
</wsdl:operation>
***************
*** 2760,2771 ****
<soap:body use="literal" />
</wsdl:input>
<wsdl:output>
<soap:body use="literal" />
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="{{var wsdl.name}}Service">
<wsdl:port name="{{var wsdl.handler}}Port" binding="typens:{{var wsdl.handler}}Binding">
<soap:address location="{{var wsdl.url}}" />
</wsdl:port>
</wsdl:service>
--- 2789,2814 ----
<soap:body use="literal" />
</wsdl:input>
<wsdl:output>
<soap:body use="literal" />
</wsdl:output>
</wsdl:operation>
+
+
+ <!-- Added by Matt Johnson 2012-11-09 to fix VS 2010 support of SOAP reference -->
+ <wsdl:operation name="catalogProductAttributeRemove">
+ <soap:operation soapAction="" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+
+
</wsdl:binding>
<wsdl:service name="{{var wsdl.name}}Service">
<wsdl:port name="{{var wsdl.handler}}Port" binding="typens:{{var wsdl.handler}}Binding">
<soap:address location="{{var wsdl.url}}" />
</wsdl:port>
</wsdl:service>
There is a mistake in the original Magento Core code, related to the operation "catalogProductAttributeRemove" (module core/Mage/Catalog).
To solve it, I've commented the following operation in the wsi.xml file of the module Catalog
<!--wsdl:operation name="catalogProductAttributeRemove">
<wsdl:documentation>Delete attribute</wsdl:documentation>
<wsdl:input message="typens:catalogProductAttributeRemoveRequest" />
<wsdl:output message="typens:catalogProductAttributeRemoveResponse" />
</wsdl:operation-->
After that the automatic building of a Web Service Client using VS2010 works perfectly!.
I included the diff into the wsi.xml from version 1.7.2 and uploaded it here.
So, if you can't read the diff correct, you can use this file directly.