Search code examples
wcfweb-servicesinteropwsdlcallback

WCF Callback: Is it interoperable with Java?


Currently I implement all my webservices in the "normal" fashion... that is, I create a WSDL file in Eclipse and then use WSCF.blue (A visual studio extension) to auto-generate the necessary code and it is reply/request. However I was hoping to use callbacks instead, so I can have my services become "push" services.

Before I jump into reworking my application, I was wondering about its interoperability. If I use callbacks (WCF), can my Java client still use this?

Oh, and I guess I should really ask... is it interoperable with more than Java as well? Just in case...


Solution

  • No. WSDualHttpBinding and CompositeDuplexBindingElement are not interoperable with Java.

    Edit:

    As pointed by @x0n the original blog post referenced in my answer is not 100% correct. There is a newer blog post describing the way how to achieve interoperability. As I understand it the approach is similar to using service with asynchronous response correlated through WS-Addressing (WCF doesn't support this exchange model in normal processing). WsDualHttpBinding uses some additional features like WS-ReliableMessaging and it also makes the service stateful.

    I'm not sure if the described approach will work in all cases because it still talks about one-way messages but duplex communication in WCF can use both one-way and two-way message exchange patterns in both service and callback contracts.