2010-10-12 16 views
5

Actuellement j'implémente tous mes webservices de façon "normale" ... c'est-à-dire que je crée un fichier WSDL dans Eclipse puis j'utilise WSCF.blue (Une extension de studio visuel) pour générer automatiquement le code nécessaire /demande. Cependant, j'espérais utiliser des rappels à la place, afin que mes services deviennent des services «push». Avant de me lancer dans le remaniement de mon application, je me posais des questions sur son interopérabilité. Si j'utilise les callbacks (WCF), est-ce que mon client Java peut toujours l'utiliser? Oh, et je suppose que je devrais vraiment demander ... est-ce qu'il est interopérable avec plus de Java aussi bien? Au cas où ...Rappel WCF: est-il interopérable avec Java?

Répondre

4

n ° WSDualHttpBinding et CompositeDuplexBindingElement ne sont pas interopérables avec Java.

Edit:

Comme indiqué par @ x0n le message blog référencé dans ma réponse n'est pas correct à 100%. Il y a un article newer blog décrivant la façon de réaliser l'interopérabilité. Si je comprends bien l'approche est similaire à l'utilisation de service avec réponse asynchrone corrélée par WS-Addressing (WCF ne prend pas en charge ce modèle d'échange dans le traitement normal). WsDualHttpBinding utilise des fonctionnalités supplémentaires telles que WS-ReliableMessaging et rend le service dynamique. Je ne suis pas sûr que l'approche décrite fonctionnera dans tous les cas car elle parle toujours de messages unidirectionnels mais la communication duplex dans WCF peut utiliser des modèles d'échange de messages unidirectionnels et bidirectionnels dans le service et le rappel contrats.

+0

Alors Java prend seulement en charge la requête/réponse? Ou y a-t-il un autre moyen? –

+0

La communication duplex est une extension MS. C'est un moyen de mettre en corrélation les appels entre deux services Web intégrés dans .NET Framework. –

+3

Raviver une vieille question ici, mais en fait, le wsdualhttpbinding_binding_ est compatible avec Java stack (j'ai testé metro,) mais la partie callbackcontract ne l'est pas (la déclaration sur le servicecontract.) Une subtile différence. Vous pouvez utiliser cette liaison, mais sur le côté Java, vous devez extraire l'en-tête wto-adressage replyto avec un gestionnaire de message et agir sur lui. – x0n