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:multipart Related> 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.sourceforg e.net/xml/wsdl/CMSDMS"
xmlns:target="h ttp://oxci.sourceforg e.net/xml/wsdl/CMSDMS"
xmlns:local="ht tp://oxci.sourceforg e.net/xml/wsdl/Local"
xmlns:soap="htt p://schemas.xmlsoap .org/wsdl/soap/"
xmlns:mime="htt p://schemas.xmlsoap .org/wsdl/mime/"
xmlns:filing="h ttp://oxci.sourceforg e.net/xml/CourtFiling"
xmlns:query="ht tp://oxci.sourceforg e.net/xml/QueryResponse"
xmlns:payment=" http://oxci.sourceforg e.net/xml/Payment"
xmlns="http://schemas.xmlsoap .org/wsdl/">
<types>
<schema xmlns="http://www.w3.org/2000/10/XMLSchema"
targetNamespace ="http://oxci.sourceforg e.net/xml/wsdl/Local">
<element name="Conversat ionID" type="string"/>
<element name="CallbackU RI" type="string"/>
<element name="Acknowled gement" type="string"/>
</schema>
</types>
<import namespace="http ://oxci.sourceforg e.net/xml/CourtFiling"
location="http://oxci.sourceforg e.net/xml/CourtFiling/CourtFiling0.9. xsd"/>
<import namespace="http ://oxci.sourceforg e.net/xml/QueryResponse"
location="http://oxci.sourceforg e.net/xml/QueryResponse/QueryResponse0. 9.xsd"/>
<import namespace="http ://oxci.sourceforg e.net/xml/Payment"
location="http://oxci.sourceforg e.net/xml/Payment/Payment0.3.xsd"/>
<message name="FilingSub missionMessage" >
<part name="conversat ionID"
element="local: ConversationID"/>
<part name="callbackU RI" element="local: CallbackURI"/>
<part name="payment" element="paymen t:PaymentReques t"/>
<part name="body" element="filing :FilingSubmissi ons"/>
</message>
<message name="FilingSub missionMessageA ck">
<part name="acknowled gement"
element="local: Acknowledgement "/>
</message>
<message name="FilingSub missionResponse Message">
<part name="conversat ionID"
element="local: ConversationID"/>
<part name="body" element="filing :FilingConfirma tions"/>
</message>
<message name="FilingSub missionResponse MessageAck">
<part name="acknowled gement"
element="local: Acknowledgement "/>
</message>
<message name="FilingQue ryMessage">
<part name="conversat ionID"
element="local: ConversationID"/>
<part name="callbackU RI" element="local: CallbackURI"/>
<part name="body" element="query: FilingQueries"/>
</message>
<message name="FilingQue ryMessageAck">
<part name="acknowled gement"
element="local: Acknowledgement "/>
</message>
<message name="FilingQue ryResponseMessa ge">
<part name="conversat ionID"
element="local: ConversationID"/>
<part name="body" element="query: FilingResponses "/>
</message>
<message name="FilingQue ryResponseMessa geAck">
<part name="acknowled gement"
element="local: Acknowledgement "/>
</message>
<portType name="FilingSub missionPortType ">
<operation name="SubmitFil ingOperation">
<input message="target :FilingSubmissi onMessage"/>
<output message="target :FilingSubmissi onMessageAck"/>
</operation>
</portType>
<portType name="FilingSub missionResponse PortType">
<operation name="SubmitFil ingResponseOper ation">
<input message="target :FilingSubmissi onResponseMessa ge"/>
<output
message="target :FilingSubmissi onResponseMessa geAck"/>
</operation>
</portType>
<portType name="FilingQue ryPortType">
<operation name="FilingQue ryOperation">
<input message="target :FilingQueryMes sage"/>
<output message="target :FilingQueryMes sageAck"/>
</operation>
</portType>
<portType name="FilingQue ryResponsePortT ype">
<operation name="FilingQue ryResponseOpera tion">
<input message="target :FilingQueryRes ponseMessage"/>
<output message="target :FilingQueryRes ponseMessageAck "/>
</operation>
</portType>
<binding name="FilingSub missionSOAPBind ing"
type="target:Fi lingSubmissionP ortType">
<soap:binding style="document "
transport="http ://schemas.xmlsoap .org/soap/http"/>
<operation name="SubmitFil ingOperation">
<soap:operati on soapAction=""/>
<input>
<soap:header message="Filing SubmissionMessa ge"
part="conversat ionID" use="literal"/>
<soap:header message="Filing SubmissionMessa ge"
part="callbackU RI" use="literal"/>
<mime:multipart Related>
<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:multipartR elated>
</input>
<output>
<soap:header parts="acknowle dgement" use="literal"/>
<soap:body use="literal"/>
</output>
</operation>
</binding>
<binding name="FilingSub missionResponse SOAPBinding"
type="target:Fi lingSubmissionR esponsePortType ">
<soap:binding style="document "
transport="http ://schemas.xmlsoap .org/soap/http"/>
<operation name="SubmitFil ingResponseOper ation">
<soap:operati on soapAction=""/>
<input>
<soap:header message="Filing SubmissionRespo nseMessage"
part="conversat ionID" use="literal"/>
<mime:multipart Related>
<mime:part>
<soap:body parts="body" use="literal"/>
</mime:part>
<mime:part>
<mime:content type="*/*"/>
</mime:part>
</mime:multipartR elated>
</input>
<output>
<soap:header parts="acknowle dgement" use="literal"/>
<soap:body use="literal"/>
</output>
</operation>
</binding>
<binding name="FilingQue rySOAPBinding"
type="target:Fi lingQueryPortTy pe">
<soap:binding style="document "
transport="http ://schemas.xmlsoap .org/soap/http"/>
<operation name="FilingQue ryOperation">
<soap:operati on soapAction=""/>
<input>
<soap:header message="Filing QueryMessage"
part="conversat ionID" use="literal"/>
<soap:header message="Filing QueryMessage"
part="callbackU RI" use="literal"/>
<mime:multipart Related>
<mime:part>
<soap:body parts="body" use="literal"/>
</mime:part>
<mime:part>
<mime:content type="*/*"/>
</mime:part>
</mime:multipartR elated>
</input>
<output>
<soap:header parts="acknowle dgement" use="literal"/>
<soap:body use="literal"/>
</output>
</operation>
</binding>
<binding name="FilingQue ryResponseSOAPB inding"
type="target:Fi lingQueryRespon sePortType">
<soap:binding style="document "
transport="http ://schemas.xmlsoap .org/soap/http"/>
<operation name="FilingQue ryResponseOpera tion">
<soap:operati on soapAction=""/>
<input>
<soap:header message="Filing QueryResponseMe ssage"
part="conversat ionID" use="literal"/>
<mime:multipart Related>
<mime:part>
<soap:body parts="body" use="literal"/>
</mime:part>
<mime:part>
<mime:content type="*/*"/>
</mime:part>
</mime:multipartR elated>
</input>
<output>
<soap:header parts="acknowle dgement" use="literal"/>
<soap:body use="literal"/>
</output>
</operation>
</binding>
<service name="FilingSub missionService" >
<documentation> Store an LXML filing to a CMS or
DMS.</documentation>
<port name="FilingSub missionPortType "
binding="target :FilingSubmissi onSOAPBinding">
<soap:address
location="http://your.active.soa p.service.uri"/>
</port>
</service>
<service name="FilingQue ryService">
<documentation> Query LXML filings against a CMS or
DMS.</documentation>
<port name="FilingQue ryPortType"
binding="target :FilingQuerySOA PBinding">
<soap:address
location="http://your.active.soa p.service.uri"/>
</port>
</service>
</definitions>