Hello,
I'm tasked with creating a WSDL file that is compatible with .NET's
code gen' tool, wsdl.exe. I'm getting an error in the code output
saying "Missing soap:body input binding", which seems to indicate it
can't find the <soap:body> element where it's looking for it.
We are using the extension <mime:multipartRelated> to define
some SOAP attachements in our interface, and the <soap:body>
element is inside a subelement of that (per the examples I have
found), rather than directly within the <input> element. I
have read that .NET does .NOT support that MIME extension, which
would explain the error.
Is this true, and how can I work around it? My WSDL follows. Thank
you all.
--Jason
<?xml version="1.0"?>
<definitions name="EFiling"
targetNamespace="http://oxci.sourceforge.net/xml/wsdl/CMSDMS"
xmlns:target="http://oxci.sourceforge.net/xml/wsdl/CMSDMS"
xmlns:local="http://oxci.sourceforge.net/xml/wsdl/Local"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"
xmlns:filing="http://oxci.sourceforge.net/xml/CourtFiling"
xmlns:query="http://oxci.sourceforge.net/xml/QueryResponse"
xmlns:payment="http://oxci.sourceforge.net/xml/Payment"
xmlns="http://schemas.xmlsoap.org/wsdl/">
<types>
<schema xmlns="http://www.w3.org/2000/10/XMLSchema"
targetNamespace="http://oxci.sourceforge.net/xml/wsdl/Local">
<element name="ConversationID" type="string"/>
<element name="CallbackURI" type="string"/>
<element name="Acknowledgement" type="string"/>
</schema>
</types>
<import namespace="http://oxci.sourceforge.net/xml/CourtFiling"
location="http://oxci.sourceforge.net/xml/CourtFiling/CourtFiling0.9.xsd"/>
<import namespace="http://oxci.sourceforge.net/xml/QueryResponse"
location="http://oxci.sourceforge.net/xml/QueryResponse/QueryResponse0.9.xsd"/>
<import namespace="http://oxci.sourceforge.net/xml/Payment"
location="http://oxci.sourceforge.net/xml/Payment/Payment0.3.xsd"/>
<message name="FilingSubmissionMessage">
<part name="conversationID"
element="local:ConversationID"/>
<part name="callbackURI" element="local:CallbackURI"/>
<part name="payment" element="payment:PaymentRequest"/>
<part name="body" element="filing:FilingSubmissions"/>
</message>
<message name="FilingSubmissionMessageAck">
<part name="acknowledgement"
element="local:Acknowledgement"/>
</message>
<message name="FilingSubmissionResponseMessage">
<part name="conversationID"
element="local:ConversationID"/>
<part name="body" element="filing:FilingConfirmations"/>
</message>
<message name="FilingSubmissionResponseMessageAck">
<part name="acknowledgement"
element="local:Acknowledgement"/>
</message>
<message name="FilingQueryMessage">
<part name="conversationID"
element="local:ConversationID"/>
<part name="callbackURI" element="local:CallbackURI"/>
<part name="body" element="query:FilingQueries"/>
</message>
<message name="FilingQueryMessageAck">
<part name="acknowledgement"
element="local:Acknowledgement"/>
</message>
<message name="FilingQueryResponseMessage">
<part name="conversationID"
element="local:ConversationID"/>
<part name="body" element="query:FilingResponses"/>
</message>
<message name="FilingQueryResponseMessageAck">
<part name="acknowledgement"
element="local:Acknowledgement"/>
</message>
<portType name="FilingSubmissionPortType">
<operation name="SubmitFilingOperation">
<input message="target:FilingSubmissionMessage"/>
<output message="target:FilingSubmissionMessageAck"/>
</operation>
</portType>
<portType name="FilingSubmissionResponsePortType">
<operation name="SubmitFilingResponseOperation">
<input message="target:FilingSubmissionResponseMessage"/>
<output
message="target:FilingSubmissionResponseMessageAck "/>
</operation>
</portType>
<portType name="FilingQueryPortType">
<operation name="FilingQueryOperation">
<input message="target:FilingQueryMessage"/>
<output message="target:FilingQueryMessageAck"/>
</operation>
</portType>
<portType name="FilingQueryResponsePortType">
<operation name="FilingQueryResponseOperation">
<input message="target:FilingQueryResponseMessage"/>
<output message="target:FilingQueryResponseMessageAck"/>
</operation>
</portType>
<binding name="FilingSubmissionSOAPBinding"
type="target:FilingSubmissionPortType">
<soap:binding style="document"
transport="http://schemas.xmlsoap.org/soap/http"/>
<operation name="SubmitFilingOperation">
<soap:operation soapAction=""/>
<input>
<soap:header message="FilingSubmissionMessage"
part="conversationID" use="literal"/>
<soap:header message="FilingSubmissionMessage"
part="callbackURI" use="literal"/>
<mime:multipartRelated>
<mime:part>
<soap:body parts="body" use="literal"/>
</mime:part>
<mime:part>
<mime:content part="payment" type="text/xml"/>
</mime:part>
<mime:part>
<mime:content type="*/*"/>
</mime:part>
</mime:multipartRelated>
</input>
<output>
<soap:header parts="acknowledgement" use="literal"/>
<soap:body use="literal"/>
</output>
</operation>
</binding>
<binding name="FilingSubmissionResponseSOAPBinding"
type="target:FilingSubmissionResponsePortType">
<soap:binding style="document"
transport="http://schemas.xmlsoap.org/soap/http"/>
<operation name="SubmitFilingResponseOperation">
<soap:operation soapAction=""/>
<input>
<soap:header message="FilingSubmissionResponseMessage"
part="conversationID" use="literal"/>
<mime:multipartRelated>
<mime:part>
<soap:body parts="body" use="literal"/>
</mime:part>
<mime:part>
<mime:content type="*/*"/>
</mime:part>
</mime:multipartRelated>
</input>
<output>
<soap:header parts="acknowledgement" use="literal"/>
<soap:body use="literal"/>
</output>
</operation>
</binding>
<binding name="FilingQuerySOAPBinding"
type="target:FilingQueryPortType">
<soap:binding style="document"
transport="http://schemas.xmlsoap.org/soap/http"/>
<operation name="FilingQueryOperation">
<soap:operation soapAction=""/>
<input>
<soap:header message="FilingQueryMessage"
part="conversationID" use="literal"/>
<soap:header message="FilingQueryMessage"
part="callbackURI" use="literal"/>
<mime:multipartRelated>
<mime:part>
<soap:body parts="body" use="literal"/>
</mime:part>
<mime:part>
<mime:content type="*/*"/>
</mime:part>
</mime:multipartRelated>
</input>
<output>
<soap:header parts="acknowledgement" use="literal"/>
<soap:body use="literal"/>
</output>
</operation>
</binding>
<binding name="FilingQueryResponseSOAPBinding"
type="target:FilingQueryResponsePortType">
<soap:binding style="document"
transport="http://schemas.xmlsoap.org/soap/http"/>
<operation name="FilingQueryResponseOperation">
<soap:operation soapAction=""/>
<input>
<soap:header message="FilingQueryResponseMessage"
part="conversationID" use="literal"/>
<mime:multipartRelated>
<mime:part>
<soap:body parts="body" use="literal"/>
</mime:part>
<mime:part>
<mime:content type="*/*"/>
</mime:part>
</mime:multipartRelated>
</input>
<output>
<soap:header parts="acknowledgement" use="literal"/>
<soap:body use="literal"/>
</output>
</operation>
</binding>
<service name="FilingSubmissionService">
<documentation>Store an LXML filing to a CMS or
DMS.</documentation>
<port name="FilingSubmissionPortType"
binding="target:FilingSubmissionSOAPBinding">
<soap:address
location="http://your.active.soap.service.uri"/>
</port>
</service>
<service name="FilingQueryService">
<documentation>Query LXML filings against a CMS or
DMS.</documentation>
<port name="FilingQueryPortType"
binding="target:FilingQuerySOAPBinding">
<soap:address
location="http://your.active.soap.service.uri"/>
</port>
</service>
</definitions>