soap.inproc:// ??
WSE 2.0 introduces some support for HTTP and HTTPS. It also added full support for SOAP based messaging over TCP. If you look real hard you will find an implementation of an Inproc channel to allow sending and receiving messaging SOAP messages within the same process.
When I found this, I got curious if Microsoft was sneaking in an alternatives to using remoting between AppDomains and I had to check it out. It's very easy to get a SoapSender and a SoapReceiver going as long as the two run in the same AppDomain. But it doesn't work when I move the sender into an AppDomain different from the one the receiver is running in. I am getting a NullReferenceException from the SoapSender's Send method. Now I am wondering if this is really the intent or just a bug in the WSE TP.
If that's really the intended behavior, then what interesting uses can I find to send XML messages over SOAP within the same AppDomain instead of just calling methods on objects?
- Simpified debugging maybe? Sure
- WS-* as aspects? Nah ... aspects should be processed by the compiler, not at runtime and a Soap messaging(!) stack.
- Implementing inprocess intermediaries. Forwarding SOAP messages that were received over TCP or HTTP? Maybe ... I need to think about finding scenarios where this would be helpful.
- App Server (COM+) functionality? Maybe, given that soon WS-* covers many the aspects of traditional enterprise app servers.
But what's the reason I can not communicate across AppDomains? If I can't then don't call in inproc, call it what it is: IntraAppDomain, AND give me an exception message that doesn't make me guess!