views:

301

answers:

0

I have a .wsdl file, and only a .wsdl file, no .xsd, nothing.

That .wsdl is in the SOAP 1.2 format. When I want to generate .cs class against that file using the command line

wsdl /out:mycsclass.cs blahblah.wsdl

I got this error:

Warning: This web reference does not conform to WS-I Basic Profile

v1.1. SOAP 1.1 binding was not found: WS-I's Basic Profile 1.1 consists of implementat ion guidelines that recommend how a set of core Web services specifications shou ld be used together to develop interoperable Web services. For the 1.1 Profile, those specifications are SOAP 1.1, WSDL 1.1, UDDI 2.0, XML 1.0 and XML Schema. For more details on the WS-I Basic Profile v1.1, see the specification at http://www.ws-i.org/Profiles/BasicProfile-1.1.html.

Error: Unable to import binding 'processListSOAP12Binding' from

namespace 'http: //processmaker.com'. - Unable to import operation 'processList'. - The datatype 'http://processmaker.com:processListStruct' is missing.

But as far as I can see, the processList and processListStruct is there in my wsdl file

  <xs:schema xmlns:ns="http://processmaker.com" xmlns:ns1="http://processmaker.com/xsd" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://processmaker.com"&gt;

     <xs:element name="processListStruct" >
        <xs:complexType >
          <xs:sequence >
            <xs:element name="guid" type="xs:string"/>
            <xs:element name="name" type="xs:string"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="processList">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="sessionId" type="xs:string"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
     <xs:element name="processListStruct" >
        <xs:complexType >
          <xs:sequence >
            <xs:element name="guid" type="xs:string"/>
            <xs:element name="name" type="xs:string"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="processList">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="sessionId" type="xs:string"/>
          </xs:sequence>
        </xs:complexType>
      </xs:schema>

The place pertaining processListSOAP12Binding to is as follows:

  <wsdl:service name="processList">
    <wsdl:port name="processListSOAP12port_http" binding="ns0:processListSOAP12Binding">
      <soap12:address location="___SOAP_ADDRESS___" />
    </wsdl:port>
  </wsdl:service>

Any idea on how to solve this problem? Or is there any other exe that I can use to generate SOAP 1.2 file?

Edit: There is a similar post here, but it's of no help to me, i don't use include

Edit 2: I strongly suspect that this is a nested element type problem, which wsdl.exe cannot handle. Can anyone verify this for me?