2015-09-08 4 views
0

я создал клиент Java в NetBeans 7.2 из WSDL Вопрос заключается в том, что заголовок отправить SOAPAction но сервер ожидает получить SOAPActionнабор SOAPAction заголовка в Java клиента

я пытаюсь переписать свойства, используя этот код

BindingProvider prov = (BindingProvider)port; 
    prov.getRequestContext().put(BindingProvider.SOAPACTION_USE_PROPERTY, false); 
    prov.getRequestContext().put(BindingProvider.SOAPACTION_URI_PROPERTY, "http://www.microsoft.com"); 

но опять же на сервере он получает SOAPAction вместо получения SOAPAction

может кто-нибудь сказать мне, как я overright это значение?

спасибо

+0

Какая ошибка вы получили с сервера, добавьте стек stacktrace pls – Koitoer

ответ

0

Я думаю, что вы пытаетесь добавить его в неправильном месте.

BindingProvider - это только объект-заглушка, «обеспечивает доступ к привязке протокола и связанным объектам контекста для обработки сообщений запроса и ответа».

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

В случае использования JAX-WS вы можете использовать, например, SOAPHandlers для этого.

Вот пример: http://www.mkyong.com/webservices/jax-ws/jax-ws-soap-handler-in-client-side/

Если это не ваш случай, то просьба представить более подробную информацию о приложении (какая проекта является то, что вид реализации WS вы используете и т.д.).

+0

HI, я использую netbenas 7.2 webapplication project. JAX-WS является следующим /** * Этот класс был создан JAX-WS RI. * JAX-WS RI 2.2.6-1b01 * Сгенерированная исходная версия: 2.2 * */Я видел эту статью, но я не видел, как скрыть свойства soapaction и как использовать пользовательский класс, можете ли вы помогите мне в этом? спасибо – zanza67

+0

Вы можете добавить пользовательские элементы в методе handleMessage() SOAPHandler. Я думаю, вы должны добавить элемент заголовка как MimeHeader, например здесь: http://www.herongyang.com/Web-Services/SAAJ-addHeader-Set-SOAPAction-Header-Line.html – gabowsky

+0

ok, но в моем случае, как я могу добавьте заголовок. проблема в том, что в моем случае у меня нет объекта, где можно настроить заголовок. в примере, который вы публикуете, есть создание мыльного сообщения, но в моем случае у меня уже есть сообщение о мыле, и я не знаю, как управлять свойствами. – zanza67

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