Groups | Blog | Home
all groups > dotnet web services enhancements > march 2005 >

dotnet web services enhancements : Transport Dokumentation


Roman Kiss [MVP]
3/23/2005 10:52:24 AM
Daniel,

have a look at my article http://www.codeproject.com/useritems/SoapMSMQ.asp

HTH

Roman

[quoted text, click to view]

Daniel Danilin
3/23/2005 6:54:11 PM
Is there a documentation of how to make a transport? And how Http transport
in WSE working.

I must say that WSE dokumentation is allmost as bad as any Java
dokumentation :-(

Roman Kiss [MVP]
3/24/2005 4:17:38 PM
Daniel,

WSE Transport infrastructure layout is the same for any kind of transport
(it's abstracted by SoapTransport class). For actively listining channel
(SoapChannelCapabilities property) its GetInputChannel(...) method will
return back the SoapHttpRequestChannel channel for the specific endpoint.
This channel has implementation of the ISoapInputChannel and
ISoapOutputChannel interfaces and reference for the configured formatter
(SoapPlainFormatter).



Activating (plumbing) your service hosted by IIS is done in the web.config
file like is shown in the following example:



<httpHandlers>
<add verb="*" path="MyService.ashx"
type="NamespaceMyService.MuService, MyServiceAssembly" />
</httpHandlers>



The SoapReceiver has implementation of the IHttpRequest interface which it
enables to process HttpContext in the ProcessRequest method. This method
dispatches incoming HttpContext to the specific endpoint
SoapHttpRequestChannel receiver to deserialize an incoming stream into the
SoapEnvelope message. After that the message is dispatched to your receiver
method via the SoapReceiver.ProcessMessage.



The Level 0 of the WSE2 Messaging infrastructure can be customized building
a Custom SoapTransport and/or SoapFormatter.

Note that the channel's classes (such as SoapHttpRequestChannel,
SoapHttpOutputChanne, etc.) are sealed classes and SoapHttpTransport will
not help as a derived class for your custimizing.



hth



Roman





[quoted text, click to view]

Daniel Danilin
3/24/2005 7:08:39 PM
It doesn't help much. I'm trying to extend SoapHttpTransport. And it works
other than your implementation.
In your article Send and Receive is made in Transport. In SoapHttpTransport
there is no Receive method. All receive code is in SoapHttpRequestChannel.

"Roman Kiss [MVP]" <rkiss@pathcom.com> schrieb im Newsbeitrag
news:eRxltn9LFHA.3708@TK2MSFTNGP14.phx.gbl...
[quoted text, click to view]

Roman Kiss [MVP]
3/26/2005 4:59:21 PM
Daniel,

have a look at the folowing links:

http://msdn.microsoft.com/msdnmag/issues/04/12/ServiceStation/

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/http/http/using_http_api.asp

Roman

[quoted text, click to view]

Daniel Danilin
3/26/2005 9:33:15 PM
[quoted text, click to view]

Do you mean it's not possible to make http transport using
SoapHttpRequestChannel without IIS?

Daniel Danilin
3/27/2005 2:33:50 PM
Unfortunatly first link is for .NET 2.0. And second link is not managed.

Anyway, I'v made HttpTransport using Cassini server. That works using
SoapHttpRequestChannel and HttpContext just like with IIS. And you don't
have to use web.config to add your receivers or write any *.asmx files.
Receivers can be added just like in tcp transport (
SoapReceivers.Add(endpoint, typeof(MyReceiver)); ). MyReceiver can be
derived from SoapService or SoapReceiver.

"Roman Kiss [MVP]" <rkiss@pathcom.com> schrieb im Newsbeitrag
news:%2315K4gmMFHA.3512@TK2MSFTNGP15.phx.gbl...
[quoted text, click to view]

AddThis Social Bookmark Button