title: wsdl Binding is not defined
body: <p>I am new to WSDL and trying to validate the WSDL. I have to generate code from WSDL. I get the following error</p>
  
  <blockquote>
    <p>The operation specified for the 'DictionaryServiceServiceSoapBinding'
    binding is not defined for port type 'DictionaryService'. All
    operations specified in this binding must be defined   in port type
    'DictionaryService'.</p>
  </blockquote>
  
  <p>Following is my WSDL:</p>
  
  <pre><code>&lt;?xml version="1.0" encoding="UTF-8"?&gt;
  &lt;wsdl:definitions name="DictionaryService" targetNamespace="http://dictionaryservice.example.com/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:tns="http://dictionaryservice.example.com/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"&gt;
      &lt;wsdl:types&gt;
          &lt;xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://dictionaryservice.example.com/" attributeFormDefault="unqualified" elementFormDefault="unqualified" targetNamespace="http://dictionaryservice.example.com/"&gt;
              &lt;xs:element name="addDataToDict" type="tns:addDataToDict"/&gt;
              &lt;xs:element name="addDataToDictResponse" type="tns:addDataToDictResponse"/&gt;
              &lt;xs:complexType name="addDataToDict"&gt;
                      &lt;xs:sequence&gt;
                          &lt;xs:element name="identifier" type="xs:string"/&gt;
                          &lt;xs:element name="description" type="xs:string"/&gt;
                          &lt;xs:element name="uri" type="xs:string"/&gt;
                      &lt;/xs:sequence&gt;
                  &lt;/xs:complexType&gt;
                  &lt;xs:complexType name="addDataToDictResponse"&gt;
                      &lt;xs:sequence&gt;
                          &lt;xs:element name="status" type="xs:boolean"/&gt;
                      &lt;/xs:sequence&gt;
                  &lt;/xs:complexType&gt;
  
  
                  &lt;xs:element name="listOfAllIndexes" type="tns:listOfAllIndexes"/&gt;
                  &lt;xs:element name="listOfAllIndexesResponse" type="tns:listOfAllIndexesResponse"/&gt;
                  &lt;xs:complexType name="listOfAllIndexes"&gt;
                      &lt;xs:sequence&gt;                       
                      &lt;/xs:sequence&gt;
                  &lt;/xs:complexType&gt;
                  &lt;xs:complexType name="listOfAllIndexesResponse"&gt;
                      &lt;xs:sequence&gt;
                          &lt;xs:element name="list" type="tns:listData"/&gt;
                      &lt;/xs:sequence&gt;
                  &lt;/xs:complexType&gt;
  
  
  
                  &lt;xs:element name="getDictByIndex" type="tns:getDictByIndex"/&gt;
                  &lt;xs:element name="getDictByIndexResponse" type="tns:getDictByIndexResponse"/&gt;
                  &lt;xs:complexType name="getDictByIndex"&gt;
                      &lt;xs:sequence&gt;
                          &lt;xs:element name="index" type="xs:integer"/&gt;                        
                      &lt;/xs:sequence&gt;
                  &lt;/xs:complexType&gt;
                  &lt;xs:complexType name="getDictByIndexResponse"&gt;
                      &lt;xs:sequence&gt;
                              &lt;xs:element name="data" type="tns:dictData"/&gt;
                      &lt;/xs:sequence&gt;
                  &lt;/xs:complexType&gt;
  
  
  
                  &lt;xs:complexType name="listData"&gt;
                      &lt;xs:sequence&gt;
                          &lt;xs:element name="identifier" type="xs:integer"/&gt;
                          &lt;xs:element name="index" type="xs:integer"/&gt;                        
                      &lt;/xs:sequence&gt;
                  &lt;/xs:complexType&gt;
  
  
                  &lt;xs:complexType name="dictData"&gt;
                      &lt;xs:sequence&gt;
                          &lt;xs:element name="identifier" type="xs:string"/&gt;
                          &lt;xs:element name="description" type="xs:string"/&gt;
                          &lt;xs:element name="uri" type="xs:string"/&gt;
                      &lt;/xs:sequence&gt;
                  &lt;/xs:complexType&gt;
  
          &lt;/xs:schema&gt;
      &lt;/wsdl:types&gt;
  
  
      &lt;wsdl:message name="addDataToDict"&gt;
          &lt;wsdl:part name="NewPart" type="tns:addDataToDict"&gt;&lt;/wsdl:part&gt;
      &lt;/wsdl:message&gt;
  
      &lt;wsdl:message name="addDataToDictResponse"&gt;
          &lt;wsdl:part name="NewPart" type="tns:addDataToDictResponse"&gt;&lt;/wsdl:part&gt;
      &lt;/wsdl:message&gt;
  
      &lt;wsdl:message name="listOfAllIndexes"&gt;
          &lt;wsdl:part name="NewPart" type="tns:listOfAllIndexes"&gt;&lt;/wsdl:part&gt;
      &lt;/wsdl:message&gt;
  
      &lt;wsdl:message name="listOfAllIndexesResponse"&gt;
          &lt;wsdl:part name="NewPart" type="tns:listOfAllIndexesResponse"&gt;&lt;/wsdl:part&gt;
      &lt;/wsdl:message&gt;
  
      &lt;wsdl:message name="getDictByIndex"&gt;
          &lt;wsdl:part name="NewPart" type="tns:getDictByIndex"&gt;&lt;/wsdl:part&gt;
      &lt;/wsdl:message&gt;
  
      &lt;wsdl:message name="getDictByIndexResponse"&gt;
          &lt;wsdl:part name="NewPart" type="tns:getDictByIndexResponse"&gt;&lt;/wsdl:part&gt;
      &lt;/wsdl:message&gt;
  
  
  
      &lt;wsdl:portType name="DictionaryService"&gt;
          &lt;wsdl:operation name="addDataToDict"&gt;
              &lt;wsdl:input  message="tns:addDataToDict"&gt;&lt;/wsdl:input&gt;
              &lt;wsdl:output message="tns:addDataToDictResponse"&gt;&lt;/wsdl:output&gt;
          &lt;/wsdl:operation&gt;
          &lt;wsdl:operation name="listOfAllIndexes"&gt;
              &lt;wsdl:input message="tns:listOfAllIndexes"&gt;&lt;/wsdl:input&gt;
              &lt;wsdl:output message="tns:listOfAllIndexesResponse"&gt;&lt;/wsdl:output&gt;
          &lt;/wsdl:operation&gt;
          &lt;wsdl:operation name="getDictByIndex"&gt;
              &lt;wsdl:input message="tns:getDictByIndex"&gt;&lt;/wsdl:input&gt;
              &lt;wsdl:output message="tns:getDictByIndexResponse"&gt;&lt;/wsdl:output&gt;
          &lt;/wsdl:operation&gt;   
      &lt;/wsdl:portType&gt;
  
      &lt;wsdl:binding name="DictionaryServiceServiceSoapBinding" type="tns:DictionaryService"&gt;
          &lt;soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/&gt;
              &lt;wsdl:operation name="addDataToDict"&gt;
                &lt;soap:operation soapAction="" style="document"/&gt;
                    &lt;wsdl:input name="addDataToDict"&gt;
                      &lt;soap:body use="literal"/&gt;
                    &lt;/wsdl:input&gt;
                  &lt;wsdl:output name="addDataToDictResponse"&gt;
                      &lt;soap:body use="literal"/&gt;
                  &lt;/wsdl:output&gt;      
              &lt;/wsdl:operation&gt;
  
              &lt;wsdl:operation name="listOfAllIndexes"&gt;
                &lt;soap:operation soapAction="" style="document"/&gt;
                    &lt;wsdl:input name="listOfAllIndexes"&gt;
                      &lt;soap:body use="literal"/&gt;
                    &lt;/wsdl:input&gt;
                  &lt;wsdl:output name="listOfAllIndexesResponse"&gt;
                      &lt;soap:body use="literal"/&gt;
                  &lt;/wsdl:output&gt;      
              &lt;/wsdl:operation&gt;
  
              &lt;wsdl:operation name="getDictByIndex"&gt;
                &lt;soap:operation soapAction="" style="document"/&gt;
                    &lt;wsdl:input name="getDictByIndex"&gt;
                      &lt;soap:body use="literal"/&gt;
                    &lt;/wsdl:input&gt;
                  &lt;wsdl:output name="getDictByIndexResponse"&gt;
                      &lt;soap:body use="literal"/&gt;
                  &lt;/wsdl:output&gt;      
              &lt;/wsdl:operation&gt;
  
      &lt;/wsdl:binding&gt;
  
  
      &lt;wsdl:service name="DictionaryService"&gt;
          &lt;wsdl:port name="DictionaryServicePort" binding="tns:DictionaryServiceServiceSoapBinding"&gt;
              &lt;soap:address location="http://localhost:9090/DictionaryServicePort"/&gt;
          &lt;/wsdl:port&gt;
      &lt;/wsdl:service&gt;
  &lt;/wsdl:definitions&gt;
  </code></pre>
  
  <p>I tried myself but couldn't find the answer.</p>