2010-10-12 5 views
5

Actualmente implemento todos mis servicios web en la forma "normal" ... es decir, creo un archivo WSDL en Eclipse y luego uso WSCF.blue (una extensión de estudio visual) para generar automáticamente el código necesario y es la respuesta /solicitud. Sin embargo, esperaba utilizar devoluciones de llamada, para que mis servicios se conviertan en servicios "push".Retrollamada WCF: ¿Es interoperable con Java?

Antes de saltar a la revisión de mi aplicación, me preguntaba sobre su interoperabilidad. Si utilizo las devoluciones de llamada (WCF), ¿puede mi cliente Java seguir usando esto?

Oh, y creo que realmente debería preguntar ... ¿es interoperable con más que Java también? Por si acaso ...

Respuesta

4

No. WSDualHttpBinding y CompositeDuplexBindingElement no son interoperables con Java.

Editar:

Como se señaló por @ x0n la entrada del blog original de referencia en mi respuesta no es 100% correcto. Hay una publicación de newer blog que describe la forma de lograr la interoperabilidad. Según entiendo, el enfoque es similar al uso del servicio con una respuesta asíncrona correlacionada a través de WS-Addressing (WCF no es compatible con este modelo de intercambio en el procesamiento normal). WsDualHttpBinding usa algunas características adicionales como WS-ReliableMessaging y también hace que el servicio sea completo.

No estoy seguro de si el enfoque descrito funcionará en todos los casos porque todavía habla de mensajes unidireccionales, pero la comunicación dúplex en WCF puede usar patrones de intercambio de mensajes bidireccionales y unidireccionales en servicio y devolución de llamada contratos.

+0

Entonces, ¿Java solo admite la solicitud/respuesta? ¿O hay otra manera? –

+0

La comunicación dúplex es una extensión MS. Es una forma de combinar llamadas entre dos servicios web que están integrados en .NET Framework. –

+3

Reanudando una vieja pregunta aquí, pero en realidad, wsdualhttpbinding _binding_ es compatible con java stack (he probado metro,) pero la parte callbackcontract no es (la declaración en el contrato de servicio). Una sutil diferencia. Puede usar ese enlace, pero en el lado de Java tiene que desenterrar el encabezado responder a direcciones ws con un manejador de mensajes y actuar sobre él. – x0n