title: WSDL complex CVC error
body: <p>I have the following wsdl code for my web applicaiton: </p>
  
  <pre><code>&lt;?xml version="1.0" encoding="UTF-8"?&gt;
  &lt;definitions xmlns:tns="http://www.ebi.ac.uk/webservices/whatizit/ws"
      xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
      xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns="http://schemas.xmlsoap.org/wsdl/"
      targetNamespace="http://www.ebi.ac.uk/webservices/whatizit/ws" name="whatizit"&gt;
  
      &lt;types&gt;
          &lt;xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
              targetNamespace="http://www.ebi.ac.uk/webservices/whatizit/ws"
              version="1.0"&gt;
  
              &lt;xs:element xmlns:ns1="http://www.ebi.ac.uk/webservices/whatizit/ws"
                  type="ns1:search" name="search" /&gt;
              &lt;xs:complexType name="search"&gt;
                  &lt;xs:sequence&gt;
                      &lt;xs:element type="xs:string" minOccurs="0" name="pipelineName" /&gt;
                      &lt;xs:element type="xs:string" minOccurs="0" name="query" /&gt;
                      &lt;xs:element name="limit"&gt;
                          &lt;xs:simpleType&gt;
                              &lt;xs:restriction base="xs:int"&gt;
                                  &lt;xs:minInclusive value="0" /&gt;
                                  &lt;xs:maxExclusive value="10000" /&gt;
                              &lt;/xs:restriction&gt;
                          &lt;/xs:simpleType&gt;
                      &lt;/xs:element&gt;
                  &lt;/xs:sequence&gt;
              &lt;/xs:complexType&gt;
  
              &lt;xs:element xmlns:ns2="http://www.ebi.ac.uk/webservices/whatizit/ws"
                  type="ns2:searchResponse" name="searchResponse" /&gt;
              &lt;xs:complexType name="searchResponse"&gt;
                  &lt;xs:sequence&gt;
                      &lt;xs:element type="xs:string" minOccurs="0" name="return" /&gt;
                  &lt;/xs:sequence&gt;
              &lt;/xs:complexType&gt;
  
              &lt;xs:element xmlns:ns3="http://www.ebi.ac.uk/webservices/whatizit/ws"
                  type="ns3:WhatizitException" name="WhatizitException" /&gt;
              &lt;xs:complexType name="WhatizitException"&gt;
                  &lt;xs:sequence&gt;
                      &lt;xs:element type="xs:string" minOccurs="0" name="message" /&gt;
                  &lt;/xs:sequence&gt;
              &lt;/xs:complexType&gt;
  
              &lt;xs:element xmlns:ns4="http://www.ebi.ac.uk/webservices/whatizit/ws"
                  type="ns4:contact" name="contact" /&gt;
              &lt;xs:complexType name="contact"&gt;
                  &lt;xs:sequence&gt;
                      &lt;xs:element type="xs:string" minOccurs="0" name="pipelineName" /&gt;
                      &lt;xs:element type="xs:string" minOccurs="0" name="text" /&gt;
                      &lt;xs:element type="xs:boolean" name="convertToHtml" /&gt;
                  &lt;/xs:sequence&gt;
              &lt;/xs:complexType&gt;
  
              &lt;xs:element xmlns:ns5="http://www.ebi.ac.uk/webservices/whatizit/ws"
                  type="ns5:contactResponse" name="contactResponse" /&gt;
              &lt;xs:complexType name="contactResponse"&gt;
                  &lt;xs:sequence&gt;
                      &lt;xs:element type="xs:string" minOccurs="0" name="return" /&gt;
                  &lt;/xs:sequence&gt;
              &lt;/xs:complexType&gt;
  
              &lt;xs:element xmlns:ns6="http://www.ebi.ac.uk/webservices/whatizit/ws"
                  type="ns6:queryPmid" name="queryPmid" /&gt;
              &lt;xs:complexType name="queryPmid"&gt;
                  &lt;xs:sequence&gt;
                      &lt;xs:element type="xs:string" minOccurs="0" name="pipelineName" /&gt;
                      &lt;xs:element type="xs:string" minOccurs="0" name="pmid" /&gt;
                  &lt;/xs:sequence&gt;
              &lt;/xs:complexType&gt;
  
              &lt;xs:element xmlns:ns7="http://www.ebi.ac.uk/webservices/whatizit/ws"
                  type="ns7:queryPmidResponse" name="queryPmidResponse" /&gt;
              &lt;xs:complexType name="queryPmidResponse"&gt;
                  &lt;xs:sequence&gt;
                      &lt;xs:element type="xs:string" minOccurs="0" name="return" /&gt;
                  &lt;/xs:sequence&gt;
              &lt;/xs:complexType&gt;
  
              &lt;xs:element xmlns:ns8="http://www.ebi.ac.uk/webservices/whatizit/ws"
                  type="ns8:getPipelinesStatus" name="getPipelinesStatus" /&gt;
              &lt;xs:complexType name="getPipelinesStatus" /&gt;
  
              &lt;xs:element xmlns:ns9="http://www.ebi.ac.uk/webservices/whatizit/ws"
                  type="ns9:getPipelinesStatusResponse" name="getPipelinesStatusResponse" /&gt;
              &lt;xs:complexType name="getPipelinesStatusResponse"&gt;
                  &lt;xs:sequence&gt;
                      &lt;xs:element xmlns:ns10="http://www.ebi.ac.uk/webservices/whatizit/ws"
                          type="ns10:selectItem" minOccurs="0" name="return" maxOccurs="unbounded" /&gt;
                  &lt;/xs:sequence&gt;
              &lt;/xs:complexType&gt;
  
              &lt;xs:complexType name="selectItem"&gt;
                  &lt;xs:sequence&gt;
                      &lt;xs:element type="xs:string" minOccurs="0" name="description" /&gt;
                      &lt;xs:element type="xs:boolean" name="disabled" /&gt;
                      &lt;xs:element type="xs:string" minOccurs="0" name="label" /&gt;
                      &lt;xs:element type="xs:anyType" minOccurs="0" name="value" /&gt;
                  &lt;/xs:sequence&gt;
              &lt;/xs:complexType&gt;
          &lt;/xs:schema&gt;
      &lt;/types&gt;
  
  
      &lt;message name="contact"&gt;
          &lt;part element="tns:contact" name="parameters" /&gt;
      &lt;/message&gt;
  
      &lt;message name="contactResponse"&gt;
          &lt;part element="tns:contactResponse" name="parameters" /&gt;
      &lt;/message&gt;
  
      &lt;message name="WhatizitException"&gt;
          &lt;part element="tns:WhatizitException" name="fault" /&gt;
      &lt;/message&gt;
  
      &lt;message name="getPipelinesStatus"&gt;
          &lt;part element="tns:getPipelinesStatus" name="parameters" /&gt;
      &lt;/message&gt;
  
      &lt;message name="getPipelinesStatusResponse"&gt;
          &lt;part element="tns:getPipelinesStatusResponse" name="parameters" /&gt;
      &lt;/message&gt;
  
      &lt;message name="queryPmid"&gt;
          &lt;part element="tns:queryPmid" name="parameters" /&gt;
      &lt;/message&gt;
  
      &lt;message name="queryPmidResponse"&gt;
          &lt;part element="tns:queryPmidResponse" name="parameters" /&gt;
      &lt;/message&gt;
  
      &lt;message name="search"&gt;
          &lt;part element="tns:search" name="parameters" /&gt;
      &lt;/message&gt;
  
      &lt;message name="searchResponse"&gt;
          &lt;part element="tns:searchResponse" name="parameters" /&gt;
      &lt;/message&gt;
  
  
      &lt;portType name="whatizit"&gt;
          &lt;operation name="contact"&gt;
              &lt;input message="tns:contact" /&gt;
              &lt;output message="tns:contactResponse" /&gt;
              &lt;fault message="tns:WhatizitException" name="WhatizitException" /&gt;
          &lt;/operation&gt;
          &lt;operation name="getPipelinesStatus"&gt;
              &lt;input message="tns:getPipelinesStatus" /&gt;
              &lt;output message="tns:getPipelinesStatusResponse" /&gt;
              &lt;fault message="tns:WhatizitException" name="WhatizitException" /&gt;
          &lt;/operation&gt;
          &lt;operation name="queryPmid"&gt;
              &lt;input message="tns:queryPmid" /&gt;
              &lt;output message="tns:queryPmidResponse" /&gt;
              &lt;fault message="tns:WhatizitException" name="WhatizitException" /&gt;
          &lt;/operation&gt;
          &lt;operation name="search"&gt;
              &lt;input message="tns:search" /&gt;
              &lt;output message="tns:searchResponse" /&gt;
              &lt;fault message="tns:WhatizitException" name="WhatizitException" /&gt;
          &lt;/operation&gt;
      &lt;/portType&gt;
  
      &lt;binding type="tns:whatizit" name="pipelineBinding"&gt;
          &lt;soap:binding style="document"
              transport="http://schemas.xmlsoap.org/soap/http" /&gt;
          &lt;operation name="contact"&gt;
              &lt;soap:operation soapAction="" /&gt;
              &lt;input&gt;
                  &lt;soap:body use="literal" /&gt;
              &lt;/input&gt;
              &lt;output&gt;
                  &lt;soap:body use="literal" /&gt;
              &lt;/output&gt;
              &lt;fault name="WhatizitException"&gt;
                  &lt;soap:fault use="literal" name="WhatizitException" /&gt;
              &lt;/fault&gt;
          &lt;/operation&gt;
          &lt;operation name="getPipelinesStatus"&gt;
              &lt;soap:operation soapAction="" /&gt;
              &lt;input&gt;
                  &lt;soap:body use="literal" /&gt;
              &lt;/input&gt;
              &lt;output&gt;
                  &lt;soap:body use="literal" /&gt;
              &lt;/output&gt;
              &lt;fault name="WhatizitException"&gt;
                  &lt;soap:fault use="literal" name="WhatizitException" /&gt;
              &lt;/fault&gt;
          &lt;/operation&gt;
          &lt;operation name="queryPmid"&gt;
              &lt;soap:operation soapAction="" /&gt;
              &lt;input&gt;
                  &lt;soap:body use="literal" /&gt;
              &lt;/input&gt;
              &lt;output&gt;
                  &lt;soap:body use="literal" /&gt;
              &lt;/output&gt;
              &lt;fault name="WhatizitException"&gt;
                  &lt;soap:fault use="literal" name="WhatizitException" /&gt;
              &lt;/fault&gt;
          &lt;/operation&gt;
          &lt;operation name="search"&gt;
              &lt;soap:operation soapAction="" /&gt;
              &lt;input&gt;
                  &lt;soap:body use="literal" /&gt;
              &lt;/input&gt;
              &lt;output&gt;
                  &lt;mime:multipartRelated&gt;
                      &lt;mime:part&gt;
                          &lt;soap:body parts="" use="literal" /&gt;
                      &lt;/mime:part&gt;
                      &lt;mime:part&gt;
                          &lt;mime:content part="parameters" type="text/xml" /&gt;
                      &lt;/mime:part&gt;
                  &lt;/mime:multipartRelated&gt;
              &lt;/output&gt;
              &lt;fault name="WhatizitException"&gt;
                  &lt;soap:fault use="literal" name="WhatizitException" /&gt;
              &lt;/fault&gt;
          &lt;/operation&gt;
      &lt;/binding&gt;
      &lt;service name="whatizit"&gt;
          &lt;port binding="tns:pipelineBinding" name="pipeline"&gt;
              &lt;!--&lt;soap:address location="http://www.ebi.ac.uk/webservices/whatizit/ws"/&gt; --&gt;
              &lt;soap:address location="http://localhost:8080/whatizit/ws" /&gt;
          &lt;/port&gt;
      &lt;/service&gt;
  &lt;/definitions&gt;
  </code></pre>
  
  <p>Now I am very new to web services using WSDL. I'm experiencing two errors that at this line that I cannot fix:</p>
  
  <pre><code>&lt;output&gt;
                  &lt;mime:multipartRelated&gt;
                      &lt;mime:part&gt;
                          &lt;soap:body parts="" use="literal" /&gt;
                      &lt;/mime:part&gt;
                      &lt;mime:part&gt;
                          &lt;mime:content part="parameters" type="text/xml" /&gt;
                      &lt;/mime:part&gt;
                  &lt;/mime:multipartRelated&gt;
              &lt;/output&gt; 
  </code></pre>
  
  <p>Multiple annotations found at this line:</p>
  
  <pre><code>- cvc-attribute.3: The value '' of attribute 'parts' on element 'soap:body' is not valid with respect to its type, 
       'NMTOKENS'.
      - cvc-minLength-valid: Value '' with length = '0' is not facet-valid with respect to minLength '1' for type 
       'NMTOKENS'.
  </code></pre>
  
  <p>Any suggestion will be appreciated. Thanks for your help. </p>