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">
<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?