Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
HomeAnnouncementsFree MagazinesWhite PapersSubmit Content
Discussion GroupsASP.NETWindows FormsLanguages.NET FrameworkVisual Studio.NET
Articles.NET FrameworkASP.NETToolsWindows Forms
.NET DirectoryOpen Source ProjectsUser GroupsWeb Resources
Related Topics
Visual Basic 6SQL ServerMS AccessOther DB ProductsMS Server ProductsMore Topics ...

.NET Forum / ASP.NET / Web Services / July 2005

Tip: Looking for answers? Try searching our database.

How to get a WSDL from a given URI

Thread view: 
Enable EMail Alerts  Start New Thread
Thread rating: 
iffi - 30 Jun 2005 17:37 GMT
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

Free Magazines

Get these publications absolutely FREE for up to 12 months. There are no hidden fees and no obligation. Simply choose a title, complete the application form and submit it. Read more ...

Oracle MagazineNetwork ComputingComputer WorldBio-IT WorldeWeekInformation WeekInfosecurity
 
Sign In
Join
My Latest Posts
My Monitored Threads
My Blog
My Photo Gallery
My Profile
My Homepage

Start New Thread
Enable EMail Alerts
Rate this Thread



©2008 Advenet LLC   Privacy Policy - Terms of Use
This website includes both content owned or controlled by Advenet as well as content owned or controlled by third parties.