title: The required WSDL extension element 'binding' from namespace
body: <p>I'm having an huge problem with the my web service. </p>
  
  <p>When I try to generate the files via svcutil I get the following error messages:</p>
  
  <pre><code>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']
  </code></pre>
  
  <p>Here is my WSDL definition:</p>
  
  <pre><code>&lt;?xml version="1.0" encoding="UTF-8"?&gt;
  &lt;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/"&gt;
  &lt;wsdl:types&gt;&lt;s:schema targetNamespace="http://grouping/" elementFormDefault="qualified"&gt;
  &lt;s:element name="OnClick_GroupProducts"&gt;&lt;s:complexType&gt;&lt;s:sequence&gt;&lt;s:element name="quoteProductsId" type="s:string" maxOccurs="1" minOccurs="0"/&gt;
  &lt;/s:sequence&gt;&lt;/s:complexType&gt;&lt;/s:element&gt;&lt;s:element name="OnClick_GroupProductsResponse"&gt;
  &lt;s:complexType&gt;&lt;s:sequence&gt;&lt;s:element name="OnClick_GroupProductsResult" type="s:string" maxOccurs="1" minOccurs="0"/&gt;
  &lt;/s:sequence&gt;
  &lt;/s:complexType&gt;
  &lt;/s:element&gt;
  &lt;s:element name="OnClick_UpdateGroupProduct"&gt;
  &lt;s:complexType&gt;
  &lt;s:sequence&gt;
  &lt;s:element name="quoteProductsId" type="s:string" maxOccurs="1" minOccurs="0"/&gt;&lt;s:element name="groupname" type="s:string" maxOccurs="1" minOccurs="0"/&gt;
  &lt;/s:sequence&gt;&lt;/s:complexType&gt;
  &lt;/s:element&gt;&lt;s:element name="OnClick_UpdateGroupProductResponse"&gt;
  &lt;s:complexType/&gt;
  &lt;/s:element&gt;
  &lt;s:element name="OnLoad_GetProductGroups"&gt;
  &lt;s:complexType&gt;
  &lt;s:sequence&gt;
  &lt;s:element name="quoteProductId" type="s:string" maxOccurs="1" minOccurs="0"/&gt;
  &lt;/s:sequence&gt;
  &lt;/s:complexType&gt;
  &lt;/s:element&gt;
  &lt;s:element name="OnLoad_GetProductGroupsResponse"&gt;
  &lt;s:complexType&gt;
  &lt;s:sequence&gt;
  &lt;s:element name="OnLoad_GetProductGroupsResult" type="tns:ArrayOfString" maxOccurs="1" minOccurs="0"/&gt;
  &lt;/s:sequence&gt;
  &lt;/s:complexType&gt;
  &lt;/s:element&gt;
  &lt;s:complexType name="ArrayOfString"&gt;
  &lt;s:sequence&gt;
  &lt;s:element name="string" type="s:string" maxOccurs="unbounded" minOccurs="0" nillable="true"/&gt;
  &lt;/s:sequence&gt;&lt;/s:complexType&gt;&lt;s:element name="string" type="s:string" nillable="true"/&gt;
  &lt;s:element name="ArrayOfString" type="tns:ArrayOfString" nillable="true"/&gt;
  &lt;/s:schema&gt;&lt;/wsdl:types&gt;&lt;wsdl:message name="OnClick_GroupProductsSoapIn"&gt;
  &lt;wsdl:part name="parameters" element="tns:OnClick_GroupProducts"/&gt;
  &lt;/wsdl:message&gt;&lt;wsdl:message name="OnClick_GroupProductsSoapOut"&gt;
  &lt;wsdl:part name="parameters" element="tns:OnClick_GroupProductsResponse"/&gt;&lt;/wsdl:message&gt;
  &lt;wsdl:message name="OnClick_UpdateGroupProductSoapIn"&gt;&lt;wsdl:part name="parameters" element="tns:OnClick_UpdateGroupProduct"/&gt;&lt;/wsdl:message&gt;
  &lt;wsdl:message name="OnClick_UpdateGroupProductSoapOut"&gt;&lt;wsdl:part name="parameters" element="tns:OnClick_UpdateGroupProductResponse"/&gt;&lt;/wsdl:message&gt;
  &lt;wsdl:message name="OnLoad_GetProductGroupsSoapIn"&gt;&lt;wsdl:part name="parameters" element="tns:OnLoad_GetProductGroups"/&gt;&lt;/wsdl:message&gt;
  &lt;wsdl:message name="OnLoad_GetProductGroupsSoapOut"&gt;&lt;wsdl:part name="parameters" element="tns:OnLoad_GetProductGroupsResponse"/&gt;&lt;/wsdl:message&gt;
  &lt;wsdl:message name="OnClick_GroupProductsHttpGetIn"&gt;&lt;wsdl:part name="quoteProductsId" type="s:string"/&gt;&lt;/wsdl:message&gt;
  &lt;wsdl:message name="OnClick_GroupProductsHttpGetOut"&gt;&lt;wsdl:part name="Body" element="tns:string"/&gt;&lt;/wsdl:message&gt;
  &lt;wsdl:message name="OnClick_UpdateGroupProductHttpGetIn"&gt;&lt;wsdl:part name="quoteProductsId" type="s:string"/&gt;&lt;wsdl:part name="groupname" type="s:string"/&gt;&lt;/wsdl:message&gt;
  &lt;wsdl:message name="OnClick_UpdateGroupProductHttpGetOut"/&gt;&lt;wsdl:message name="OnLoad_GetProductGroupsHttpGetIn"&gt;&lt;wsdl:part name="quoteProductId" type="s:string"/&gt;&lt;/wsdl:message&gt;
  &lt;wsdl:message name="OnLoad_GetProductGroupsHttpGetOut"&gt;&lt;wsdl:part name="Body" element="tns:ArrayOfString"/&gt;&lt;/wsdl:message&gt;
  &lt;wsdl:message name="OnClick_GroupProductsHttpPostIn"&gt;&lt;wsdl:part name="quoteProductsId" type="s:string"/&gt;&lt;/wsdl:message&gt;
  &lt;wsdl:message name="OnClick_GroupProductsHttpPostOut"&gt;&lt;wsdl:part name="Body" element="tns:string"/&gt;&lt;/wsdl:message&gt;
  &lt;wsdl:message name="OnClick_UpdateGroupProductHttpPostIn"&gt;&lt;wsdl:part name="quoteProductsId" type="s:string"/&gt;&lt;wsdl:part name="groupname" type="s:string"/&gt;&lt;/wsdl:message&gt;
  &lt;wsdl:message name="OnClick_UpdateGroupProductHttpPostOut"/&gt;&lt;wsdl:message name="OnLoad_GetProductGroupsHttpPostIn"&gt;&lt;wsdl:part name="quoteProductId" type="s:string"/&gt;&lt;/wsdl:message&gt;
  &lt;wsdl:message name="OnLoad_GetProductGroupsHttpPostOut"&gt;&lt;wsdl:part name="Body" element="tns:ArrayOfString"/&gt;&lt;/wsdl:message&gt;
  &lt;wsdl:portType name="GROUPING_WS_ASMXSoap"&gt;&lt;wsdl:operation name="OnClick_GroupProducts"&gt;&lt;wsdl:input message="tns:OnClick_GroupProductsSoapIn"/&gt;
  &lt;wsdl:output message="tns:OnClick_GroupProductsSoapOut"/&gt;&lt;/wsdl:operation&gt;&lt;wsdl:operation name="OnClick_UpdateGroupProduct"&gt;&lt;wsdl:input message="tns:OnClick_UpdateGroupProductSoapIn"/&gt;
  &lt;wsdl:output message="tns:OnClick_UpdateGroupProductSoapOut"/&gt;&lt;/wsdl:operation&gt;&lt;wsdl:operation name="OnLoad_GetProductGroups"&gt;&lt;wsdl:input message="tns:OnLoad_GetProductGroupsSoapIn"/&gt;
  &lt;wsdl:output message="tns:OnLoad_GetProductGroupsSoapOut"/&gt;&lt;/wsdl:operation&gt;&lt;/wsdl:portType&gt;&lt;wsdl:portType name="GROUPING_WS_ASMXHttpGet"&gt;&lt;wsdl:operation name="OnClick_GroupProducts"&gt;
  &lt;wsdl:input message="tns:OnClick_GroupProductsHttpGetIn"/&gt;&lt;wsdl:output message="tns:OnClick_GroupProductsHttpGetOut"/&gt;&lt;/wsdl:operation&gt;&lt;wsdl:operation name="OnClick_UpdateGroupProduct"&gt;
  &lt;wsdl:input message="tns:OnClick_UpdateGroupProductHttpGetIn"/&gt;&lt;wsdl:output message="tns:OnClick_UpdateGroupProductHttpGetOut"/&gt;&lt;/wsdl:operation&gt;&lt;wsdl:operation name="OnLoad_GetProductGroups"&gt;
  &lt;wsdl:input message="tns:OnLoad_GetProductGroupsHttpGetIn"/&gt;&lt;wsdl:output message="tns:OnLoad_GetProductGroupsHttpGetOut"/&gt;&lt;/wsdl:operation&gt;&lt;/wsdl:portType&gt;
  &lt;wsdl:portType name="GROUPING_WS_ASMXHttpPost"&gt;&lt;wsdl:operation name="OnClick_GroupProducts"&gt;&lt;wsdl:input message="tns:OnClick_GroupProductsHttpPostIn"/&gt;
  &lt;wsdl:output message="tns:OnClick_GroupProductsHttpPostOut"/&gt;&lt;/wsdl:operation&gt;&lt;wsdl:operation name="OnClick_UpdateGroupProduct"&gt;
  &lt;wsdl:input message="tns:OnClick_UpdateGroupProductHttpPostIn"/&gt;&lt;wsdl:output message="tns:OnClick_UpdateGroupProductHttpPostOut"/&gt;
  &lt;/wsdl:operation&gt;&lt;wsdl:operation name="OnLoad_GetProductGroups"&gt;&lt;wsdl:input message="tns:OnLoad_GetProductGroupsHttpPostIn"/&gt;
  &lt;wsdl:output message="tns:OnLoad_GetProductGroupsHttpPostOut"/&gt;&lt;/wsdl:operation&gt;&lt;/wsdl:portType&gt;&lt;wsdl:binding name="GROUPING_WS_ASMXSoap" type="tns:GROUPING_WS_ASMXSoap"&gt;
  &lt;soap:binding transport="http://schemas.xmlsoap.org/soap/http"/&gt;&lt;wsdl:operation name="OnClick_GroupProducts"&gt;
  &lt;soap:operation style="document" soapAction="http://grouping/OnClick_GroupProducts"/&gt;&lt;wsdl:input&gt;
  &lt;soap:body use="literal"/&gt;&lt;/wsdl:input&gt;&lt;wsdl:output&gt;&lt;soap:body use="literal"/&gt;&lt;/wsdl:output&gt;&lt;/wsdl:operation&gt;&lt;wsdl:operation name="OnClick_UpdateGroupProduct"&gt;
  &lt;soap:operation style="document" soapAction="http://grouping/OnClick_UpdateGroupProduct"/&gt;&lt;wsdl:input&gt;&lt;soap:body use="literal"/&gt;&lt;/wsdl:input&gt;&lt;wsdl:output&gt;
  &lt;soap:body use="literal"/&gt;&lt;/wsdl:output&gt;&lt;/wsdl:operation&gt;&lt;wsdl:operation name="OnLoad_GetProductGroups"&gt;
  &lt;soap:operation style="document" soapAction="http://grouping/OnLoad_GetProductGroups"/&gt;&lt;wsdl:input&gt;&lt;soap:body use="literal"/&gt;
  &lt;/wsdl:input&gt;&lt;wsdl:output&gt;&lt;soap:body use="literal"/&gt;&lt;/wsdl:output&gt;&lt;/wsdl:operation&gt;&lt;/wsdl:binding&gt;&lt;wsdl:binding name="GROUPING_WS_ASMXSoap12" type="tns:GROUPING_WS_ASMXSoap"&gt;
  &lt;soap12:binding transport="http://schemas.xmlsoap.org/soap/http"/&gt;&lt;wsdl:operation name="OnClick_GroupProducts"&gt;
  &lt;soap12:operation style="document" soapAction="http://groupingOnClick_GroupProducts"/&gt;&lt;wsdl:input&gt;
  &lt;soap12:body use="literal"/&gt;&lt;/wsdl:input&gt;&lt;wsdl:output&gt;&lt;soap12:body use="literal"/&gt;&lt;/wsdl:output&gt;&lt;/wsdl:operation&gt;&lt;wsdl:operation name="OnClick_UpdateGroupProduct"&gt;
  &lt;soap12:operation style="document" soapAction="http://grouping/OnClick_UpdateGroupProduct"/&gt;&lt;wsdl:input&gt;&lt;soap12:body use="literal"/&gt;&lt;/wsdl:input&gt;
  &lt;wsdl:output&gt;&lt;soap12:body use="literal"/&gt;&lt;/wsdl:output&gt;&lt;/wsdl:operation&gt;&lt;wsdl:operation name="OnLoad_GetProductGroups"&gt;
  &lt;soap12:operation style="document" soapAction="http://grouping/OnLoad_GetProductGroups"/&gt;&lt;wsdl:input&gt;&lt;soap12:body use="literal"/&gt;&lt;/wsdl:input&gt;&lt;wsdl:output&gt;
  &lt;soap12:body use="literal"/&gt;&lt;/wsdl:output&gt;&lt;/wsdl:operation&gt;&lt;/wsdl:binding&gt;&lt;wsdl:binding name="GROUPING_WS_ASMXHttpGet" type="tns:GROUPING_WS_ASMXHttpGet"&gt;
  &lt;http:binding verb="GET"/&gt;&lt;wsdl:operation name="OnClick_GroupProducts"&gt;&lt;http:operation location="/OnClick_GroupProducts"/&gt;&lt;wsdl:input&gt;&lt;http:urlEncoded/&gt;
  &lt;/wsdl:input&gt;&lt;wsdl:output&gt;&lt;mime:mimeXml part="Body"/&gt;&lt;/wsdl:output&gt;&lt;/wsdl:operation&gt;&lt;wsdl:operation name="OnClick_UpdateGroupProduct"&gt;
  &lt;http:operation location="/OnClick_UpdateGroupProduct"/&gt;&lt;wsdl:input&gt;&lt;http:urlEncoded/&gt;&lt;/wsdl:input&gt;&lt;wsdl:output/&gt;&lt;/wsdl:operation&gt;&lt;wsdl:operation name="OnLoad_GetProductGroups"&gt;
  &lt;http:operation location="/OnLoad_GetProductGroups"/&gt;&lt;wsdl:input&gt;&lt;http:urlEncoded/&gt;&lt;/wsdl:input&gt;&lt;wsdl:output&gt;&lt;mime:mimeXml part="Body"/&gt;&lt;/wsdl:output&gt;&lt;/wsdl:operation&gt;
  &lt;/wsdl:binding&gt;&lt;wsdl:binding name="GROUPING_WS_ASMXHttpPost" type="tns:GROUPING_WS_ASMXHttpPost"&gt;&lt;http:binding verb="POST"/&gt;&lt;wsdl:operation name="OnClick_GroupProducts"&gt;
  &lt;http:operation location="/OnClick_GroupProducts"/&gt;&lt;wsdl:input&gt;&lt;mime:content type="application/x-www-form-urlencoded"/&gt;&lt;/wsdl:input&gt;&lt;wsdl:output&gt;&lt;mime:mimeXml part="Body"/&gt;
  &lt;/wsdl:output&gt;&lt;/wsdl:operation&gt;&lt;wsdl:operation name="OnClick_UpdateGroupProduct"&gt;&lt;http:operation location="/OnClick_UpdateGroupProduct"/&gt;
  &lt;wsdl:input&gt;&lt;mime:content type="application/x-www-form-urlencoded"/&gt;&lt;/wsdl:input&gt;&lt;wsdl:output/&gt;&lt;/wsdl:operation&gt;&lt;wsdl:operation name="OnLoad_GetProductGroups"&gt;
  &lt;http:operation location="/OnLoad_GetProductGroups"/&gt;&lt;wsdl:input&gt;&lt;mime:content type="application/x-www-form-urlencoded"/&gt;&lt;/wsdl:input&gt;&lt;wsdl:output&gt;&lt;mime:mimeXml part="Body"/&gt;
  &lt;/wsdl:output&gt;&lt;/wsdl:operation&gt;&lt;/wsdl:binding&gt;&lt;wsdl:service name="GROUPING_WS_ASMX"&gt;&lt;wsdl:port name="GROUPING_WS_ASMXSoap" binding="tns:GROUPING_WS_ASMXSoap"&gt;
  &lt;soap:address location="http://srv:13208/GROUPING_WS_ASMX.asmx"/&gt;&lt;/wsdl:port&gt;&lt;wsdl:port name="GROUPING_WS_ASMXSoap12" binding="tns:GROUPING_WS_ASMXSoap12"&gt;
  &lt;soap12:address location="http://srv:13208/GROUPING_WS_ASMX.asmx"/&gt;&lt;/wsdl:port&gt;&lt;wsdl:port name="GROUPING_WS_ASMXHttpGet" binding="tns:GROUPING_WS_ASMXHttpGet"&gt;
  &lt;http:address location="http://srv:13208/GROUPING_WS_ASMX.asmx"/&gt;&lt;/wsdl:port&gt;&lt;wsdl:port name="GROUPING_WS_ASMXHttpPost" binding="tns:GROUPING_WS_ASMXHttpPost"&gt;
  &lt;http:address location="http://srv:13208/GROUPING_WS_ASMX.asmx"/&gt;&lt;/wsdl:port&gt;&lt;/wsdl:service&gt;&lt;/wsdl:definitions&gt;
  </code></pre>
  
  <p>Any help will be much appreciated.</p>
  
  <p>Best,
  Jeppen</p>