It appears in WSE3 that you can take your ASMX Web service
(System.Web.Services.WebService subclass) and host it outside of IIS
and call it over TCP/IP. To achieve transport independence on the
consumer-side, however, you're still going to need a class deriving
from SoapClient, right? (since WebServicesClientProtocol classes derive
from SoapHttpClientProtocol)
So, if you know you're using WSE, what's the benefit of using the
IDE-generated WebServicesClientProtocol subclass over using a
WSEWSDL3.EXE-generated SoapClient subclass?
Cheers,
~Mork
Mork - 29 Jun 2005 17:09 GMT
I found the answer to this question. The assumption that
WebServicesCilentProtocol is bound to HTTP because of its ancestor is
incorrect. WSE uses their own WebRequest and WebResponse classes and
can support various transports.
The "What's new in WSE 3" article by Mark Fussell gives an example of
using a *Wse proxy class to communicate with a service via TCP. You can
use another transport by setting the Url property.
See this article:
http://msdn.microsoft.com/webservices/default.aspx?pull=/library/en-us/dnwse/htm
l/newwse3.asp#newwse3_topic3
Cheers,
~Mork