2010-10-12 3 views
5

В настоящее время я реализую все свои веб-сервисы в «нормальном» режиме ... то есть я создаю файл WSDL в Eclipse, а затем использую WSCF.blue (визуальное расширение студии) для автоматического генерации нужного кода, и это ответ /запрос. Тем не менее, я надеялся использовать обратные вызовы вместо этого, поэтому у меня могут быть услуги «push».WCF Callback: совместим ли он с Java?

Прежде чем перейти к переработке моего приложения, я задавался вопросом о его функциональной совместимости. Если я использую callbacks (WCF), может ли мой клиент Java по-прежнему использовать это?

О, и я думаю, я действительно должен спросить ... это совместимо с более чем Java? На всякий случай ...

ответ

4

WSDualHttpBinding и CompositeDuplexBindingElement не взаимодействуют с Java.

Edit:

Как указано на @ x0n оригинальной блоге ссылается в своем ответе не 100% правильно. Существует сообщение newer blog, описывающее способ достижения интероперабельности. Насколько я понимаю, подход аналогичен использованию службы с асинхронным ответом, коррелированным с помощью WS-Addressing (WCF не поддерживает эту модель обмена при нормальной обработке). WsDualHttpBinding использует некоторые дополнительные функции, такие как WS-ReliableMessaging, а также делает сервис работоспособным.

Я не уверен, что описанный подход будет работать во всех случаях, поскольку он все еще говорит об односторонних сообщениях, но дуплексная связь в WCF может использовать как односторонние, так и двухсторонние шаблоны обмена сообщениями как в сервисе, так и в обратном вызове контракты.

+0

Итак, Java поддерживает только запрос/ответ? Или есть другой способ? –

+0

Дуплексная связь - это расширение MS. Это способ корреляции вызовов между двумя веб-службами, которые встроены в .NET Framework. –

+3

Возрождение старого вопроса здесь, но на самом деле wsdualhttpbinding _binding_ совместим со стек java (я тестировал метро), но часть callbackcontract не является (декларация о servicecontract.) Тонкая разница. Вы можете использовать эту привязку, но на стороне java вам нужно выкопать заголовок ответа ws-адресации с помощью обработчика сообщений и действовать на него. – x0n

Смежные вопросы