I am writing a server application using SOAP over TCP (soap.tcp). I want to
generate a WSDL file from this uri "soap.tcp://localhost:8080/stockservice".
All I have heard is that its not possible to add a web referene as it happens
to generate proxy class "If the SoapService endpoint is bound to an HTTP
endpoint, you can request the WSDL definition by appending "?wsdl" to the
endpoint address.However since the release of WSE 2.0 and WS-Addressing many
leading service providers are using TCP.The "?wsdl" approach doesn't make
sense for protocols such as TCP that don't support the notion of a query
string. MS has provided a generic way to get WSDL Simply send a SOAP message
with an action of
http://schemas.microsoft.com/wse/2003/06/RequestDescription
and an empty body, as illustrated here:"
--------------------------
soap:Envelope xmlns:wsa="..." xmlns:soap="..." ...>
<soap:Header>
<wsa:Action>http://schemas.microsoft.com/wse/2003/06/
RequestDescription</wsa:Action>
•••
</soap:Header>
<soap:Body />
</soap:Envelope>
-----------------------------
now I have created a method given below that returns the above mentioned
soap envlope, and further i m sending it from client program using
"sender.Subscribe(env)".
private static SoapEnvelope CreateSubscriptionMessage()
{
SoapEnvelope env = new SoapEnvelope();
XmlElement header = env.CreateHeader();
env.Envelope.AppendChild(header);
header.AppendChild(env.CreateElement("wsa:Action"));
header.FirstChild.InnerText=
"http://schemas.microsoft.com/wse/2003/06/RequestDescription";
Console.WriteLine(env.Envelope.InnerXml);
return env;
}
-------------------
I dont know how it will gonna return WSDL in response to this soap packet.
And how to recieve that WSDL ..
Could some body please provide or direct me to some sample by using which I
could receive WSDL and save it in a file.
thanks in advance
Softwaremaker - 03 Jul 2005 02:19 GMT
Hi iffi,
This form of WSDL / XSD / WS-Policy (not in WSE yet, BUT it is in Indigo)
exchange is know as WS-MetadataExchange or MEX for short.
This sort of using standard SOAP API Packets as querying mechanisms is used
widely by UDDI deployments. Think of MEX as something rather similar.
WSE 2.0 supports some kind of MEX exchange thru something you have just
described. Could you post the "serialized" SOAP Envelope here so we are able
to inspect what is the Tcp endpoint actually receiving ?

Signature
Thank you.
Regards,
William T
http://www.softwaremaker.net/blog
Independent Microsoft Regional Director | Microsoft MVP - Solutions
Architect
======================================================
> I am writing a server application using SOAP over TCP (soap.tcp). I want to
> generate a WSDL file from this uri "soap.tcp://localhost:8080/stockservice".
[quoted text clipped - 43 lines]
>
> thanks in advance