Dear all,
Could someone suggest a good WSDL reading, oriented for manual Web services
implementation?
There are plenty working ATL and .NET examples in Internet, but I have
troubles making a plain C++ ISAPI Web service.
I took the WSDL from:
http://msdn.microsoft.com/archive/de...lexplained.asp
and created both client and server as .NET without a problem.
Then I replaced the Web service with my own, dumb C++ ISAPI extension,
which returns exactly the same data, and the .NET client failed with unknown
error.
My goal is to convert an existing Web application to a Web service - in
order to give a chance to everybody to write a frontend, by their favourite
means, or at least using .NET.
This Web app *cannot* be rewritten using .NET or ATL.
Thanks!
P.S. Here is the WSDL I tried and the server response I emulated:
// WSDL
<?xml version="1.0" encoding="UTF-8" ?>
<definitions name="FooSample "
targetNamespace ="http://tempuri.org/wsdl/"
xmlns:wsdlns="h ttp://tempuri.org/wsdl/"
xmlns:typens="h ttp://tempuri.org/xsd"
xmlns:xsd="http ://www.w3.org/2001/XMLSchema"
xmlns:soap="htt p://schemas.xmlsoap .org/wsdl/soap/"
xmlns:stk="http ://schemas.microso ft.com/soap-toolkit/wsdl-extension"
xmlns="http://schemas.xmlsoap .org/wsdl/">
<types>
<schema targetNamespace ="http://tempuri.org/xsd"
xmlns="http://www.w3.org/2001/XMLSchema"
xmlns:SOAP-ENC="http://schemas.xmlsoap .org/soap/encoding/"
xmlns:wsdl="htt p://schemas.xmlsoap .org/wsdl/"
elementFormDefa ult="qualified" >
</schema>
</types>
<message name="Simple.fo o">
<part name="arg" type="xsd:int"/>
</message>
<message name="Simple.fo oResponse">
<part name="result" type="xsd:int"/>
</message>
<portType name="SimplePor tType">
<operation name="foo" parameterOrder= "arg" >
<input message="wsdlns :Simple.foo"/>
<output message="wsdlns :Simple.fooResp onse"/>
</operation>
</portType>
<binding name="SimpleBin ding" type="wsdlns:Si mplePortType">
<stk:binding preferredEncodi ng="UTF-8" />
<soap:binding style="rpc"
transport="http ://schemas.xmlsoap .org/soap/http"/>
<operation name="foo">
<soap:operati on
soapAction="htt p://tempuri.org/action/Simple.foo"/>
<input>
<soap:body use="encoded" namespace="http ://tempuri.org/message/"
encodingStyle=" http://schemas.xmlsoap .org/soap/encoding/" />
</input>
<output>
<soap:body use="encoded" namespace="http ://tempuri.org/message/"
encodingStyle=" http://schemas.xmlsoap .org/soap/encoding/" />
</output>
</operation>
</binding>
<service name="FOOSAMPLE Service">
<port name="SimplePor t" binding="wsdlns :SimpleBinding" >
<soap:address location="http://localhost/dump_isapi.dll"/>
</port>
</service>
</definitions>
// Response
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<SOAP-ENV:Envelope
SOAP-ENV:encodingSty le="http://schemas.xmlsoap .org/soap/encoding/"
xmlns:SOAP-ENV="http://schemas.xmlsoap .org/soap/envelope/">
<SOAP-ENV:Body>
<SOAPSDK1:fooRe sponse xmlns:SOAPSDK1= "http://tempuri.org/message/">
<result>5131953 </result>
</SOAPSDK1:fooRes ponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>