Использование WCF WsHttpBinding WebService в Java

Я пытаюсь заставить Java-клиент взаимодействовать с WCF wshttpbinding WebService. Но я не могу этого сделать. Звонок либо зависает, либо я получаю "musunderstandingheader excetions".

Моя веб-служба - это просто созданный Visual Studio по умолчанию «Шаблон библиотеки службы WCF».

Мой клиент веб-службы - это просто пустой проект IntelliJ с соответствующей заглушкой, созданной с помощью «Добавить клиента веб-службы» (указанная платформа веб-службы - JAX-WS 2.X).

Когда я меняю привязку на BasicHttpBinding, все работает безупречно.

Я пробовал поиграть с конфигурацией WsHttpBinding, включая отключение безопасности, но безуспешно.

Предложения ? Мысли ? JAX-WS 2.0 поддерживает WsHttpBinding лишь частично?


person vicsz    schedule 16.07.2009    source источник
comment
Не могли бы вы поделиться своим кодом для использования службы WCF с wsHttpBinding в Java Client? Я использую Axis2 и сталкиваюсь с такой проблемой, как проверка токена безопасности и несоответствие привязки. Я думаю, что Axis2 не позволяет взаимодействовать между wcf с wsHttpBinding и клиентом Java.   -  person touseefkhan4pk    schedule 05.04.2021


Ответы (2)


Ваша проблема в том, что JAX-WS не поддерживает те же протоколы WS, которые используются в wsHttpBinding. Вместо этого вам необходимо использовать WSIT. WSIT доступен как часть библиотеки Metro, которая также доступна на Glassfish.

Я рекомендую использовать wsHttpBinding или ws2007HttpBinding, где это возможно, но вы все равно можете сделать довольно безопасный сервис с помощью basicHttpBinding через SSL / Transport Auth.

person Randolpho    schedule 29.01.2010

Я бы внимательно изучил вашу конфигурацию WCF и удалил все свойства аутентификации, авторизации и т. Д. Помните, что по умолчанию WCF будет безопасно предоставлять вашу службу при использовании безопасного транспорта / привязки. Следовательно, если вы не сконфигурируете свой Java-клиент для соблюдения этих требований безопасности, он, скорее всего, не сможет пройти аутентификацию, и вы не увидите двух противоположных.

После того, как вы поговорите, постепенно добавляйте каждый элемент безопасности, пока ваш Java-клиент не настроен правильно.

person Community    schedule 16.07.2009