2010-05-04 1 views
1

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

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

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

ответ

5

Вы определенно будете хотеть использовать WSIT, чтобы помочь написать свой клиент, и это, вероятно, проще всего использовать весь Metro стек. Метро содержит jaxws-ri, WSIT & JAB в своих банках (webservices-rt.jar & webservices-api.jar).

Несколько шагов, чтобы вы начали:

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

  2. Включите метровые банки на пути к классу клиента.

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

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

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