2010-10-18 5 views
5

У меня есть файл WSDL (веб-сервис написан .NET), и я могу сгенерировать для него прокси-классы и коды прокси-сервера Java-сервиса в IntelliJ IDEA 7.0.4. У веб-службы есть заголовок запроса мыла, но я не вижу никакого свойства или метода в автоматически сгенерированных классах и кодах прокси Java, чтобы установить заголовок запроса. (но когда я использую Visual Studio 2008 для создания прокси-классов для C#, объект создается в прокси-классе веб-сервиса в качестве заголовка, поэтому я могу установить его просто)Как отправить заголовок запроса SOAP в Java?

Что делать в Java?

+0

Проверка: http://stackoverflow.com/questions/3925272/handler-to-add-http-headers-to-http-request-not-invoked-when-using-axis-client-ap/3981045#3981045 – madhurtanwani

ответ

1

Я не уверен, что использует IntelliJ для генерации прокси-классов. Возможно, AXIS?

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

public void handleMessage(SoapMessage message) throws Fault { 
      message.getHeaders().add(QName.valueOf("foo"), "bar"); 
    } 

В конечном счете, хотя, это будет трудно для вас, чтобы выяснить, правильный способ справиться с этим, если вы не знаете, библиотека ваш IDE использует.

+0

Intellij использует ось и ось 2, если у вас есть. –

1

Все классы для полного клиента веб-сервиса могут быть созданы с помощью инструмента wsimport, включенного в jdk.

http://download.oracle.com/javase/6/docs/technotes/tools/share/wsimport.html

Вам нужно только указать адрес WSDL.

+0

Просто один трюк, чтобы добавить заголовки с помощью 'wsimport', вам нужно передать один дополнительный параметр в командной строке' -XadditionalHeaders'. Я получил эту информацию о комментариях этого [этого вопроса] (http://stackoverflow.com/questions/7257539/wsimport-doesnt-generate-code-related-to-soap-headers) –

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