Как импортировать веб-службу WCF с помощью клиента Java

У меня есть веб-служба WCF, использующая wsHttpBinding, которую я использую из клиента Java. Я сгенерировал код из WSDL, используя wsimport. Java-клиент, похоже, создает службу нормально, но когда я вызываю метод службы, клиент просто вращается.

MyService s = new MyService();
IMyService i = s.getWSHttpBindingIMyService();
returnedValue = i.getSomething(2); // method call

Может ли клиент Java взаимодействовать с веб-службой WCF, использующей wsHttpBinding? И как лучше всего это сделать?
Будем признательны за любую помощь.


person JRP    schedule 04.05.2010    source источник


Ответы (2)


Вы определенно захотите использовать WSIT для помощи в написании своего клиента, и, вероятно, проще всего использовать весь Metro< /а> стек. Metro содержит jaxws-ri, WSIT и JAB в своих jar-файлах (webservices-rt.jar и webservices-api.jar).

Несколько шагов для начала:

  1. Содержит ли опубликованный WSDL службы WCF раздел WS-Policy? Если нет, получите эту информацию и поместите ее в локальную копию файла WSDL службы. Повторно запустите wsimport на WSDL, содержащем раздел WS-Policy.

  2. Включите файлы метро в путь к классам вашего клиента.

  3. Напишите файл с именем wsit-client.xml и поместите его в WEB-INF/classes (или в путь к классам). Вот пример. Теперь, когда вы используете клиент, вы должны увидеть в консоли сообщение INFO, в котором говорится: WSP5018: Загружена конфигурация WSIT из файла:

  4. Если вы застряли на WS-Policy или wsit-client.xml, используйте Netbeans. Я использую Eclipse для разработки, и хотя мне не очень нравится Netbeans, я несколько раз использовал его в качестве эталона, потому что он имеет параметры конфигурации в среде IDE, которые позволят вам защитить веб-службы и написать веб-службу. клиент, которому требуется безопасность, и он сгенерирует для вас wsit-client.xml и WSDL с информацией о WS-Policy. Попробуйте написать веб-приложение в Netbeans и указать на WSDL службы, чтобы сгенерировать там клиент веб-службы и посмотреть, как выглядят полученные файлы.

  5. Вы можете получить ответы на некоторые вопросы здесь, на SO, но на форуме java.net Metro также довольно активен, и там вы также можете получить хорошую поддержку. Просто будьте готовы к таким ответам, как «выполнить XYZ в Netbeans/Glassfish».

person elduff    schedule 04.05.2010

Вероятно, это поможет: Служба WCF и клиент Java

person KMån    schedule 04.05.2010