I can't seem to find anything out on the google web about how to do asynchronous server processing use WSE.
For example, lets say I get a request to do something that is potentially long running. I would want to have an asynchronous method with a callback that returns the response without blocking the processing thread.
ASP.NET has Asynchronous WebMethod's here: http://msdn.microsoft.com/library/default.asp url=/library/en-us/cpguide/html/cpconCreatingAsynchronousXMLWebServiceMethod.asp
Where is the WSE equivalent

WSE Asynchronous Server Methods
FreddyFresh
Thanks. I'd be interested in looking at that. If you have anything working at all, can I have a look
I am actually hosting outside IIS. Basically what I'm trying to do is host a web service or SOAP service outside IIS which supports asynchronous callbacks and I can't find out how to do that with WSE.
Perhaps WSE assumes you'll just inherit from SoapReceiver and manually process the request by using the soap:action, use GetBodyObject to deserialize and implement the asynchronous yourself That is the path I'm headed right now, but I can't believe they wouldn't already have all the plumbing done for you by WSE3.
Basically to sum it all up - I'm trying to get the functionality of WinFX Indigo right now. They let you have a ServiceHost<T> or whatever that is that lets you host web services in basically any environment.
If someone can help point me in the right direction to get this working, that would absolutely rock.
Thanks!
Very Anonymous
Hi,
AFAIK there is no such support in WSE if you are hosting in IIS, you can implement an asynchronous receiver in WSE by using another transport. In fact I've been trying some code to implement an AsyncSoapReceiver but I've not finish with that.
I'll post something if I have that demo working.
Regards,
Diego Gonzalez [C#, MVP]
Lagash Systems SA
Erik Edlund
If you are hosting outside IIS, you can implement a receiver and then use WSE to send a response to the client, by calling Send method to ans instance of a channel, in order to get an instance for a channel you can call to the method:
ISoapOutputChannel SoapTransport.StaticGetOutputChannel(EndpointReference endpoint);
But doing that in IIS is hard because the SoapTransport has some hardcoded return value if HttpContext is valid.
I'll try to have the demo finished and post the sample here.
Regards,
Diego Gonzalez [C#, MVP]
Lagash Systems SA
Paul Ballard
I hate WSE. I've moved on. On to WinFx GoLive that is!
http://msdn.microsoft.com/winfx/getthebeta/golive/default.aspx