Просто используя веб-сервис в Java

35
задан bluish 21 December 2011 в 14:23
поделиться

4 ответа

Я могу рекомендовать Вам библиотеку CXF. Используя его у Вас будет несколько опций для вызова веб-сервисов:

  1. Использование динамический прокси для вызова (не должны делать тупики Java с помощью wsdl2java).

    DynamicClientFactory dcf = DynamicClientFactory.newInstance();
    Client client = dcf.createClient("http://admin:password@localhost:8080"+
                                     "/services/MyService?wsdl");
    Object[] a = client.invoke("test", "");
    System.out.println(a);
    
  2. Используя тупик Java, сгенерированный от WSDL, с помощью wsdl2java.

  3. , Если Ваш сервер был создан с помощью CXF, можно снова использовать интерфейсный код непосредственно (вместо того, чтобы использовать wsdl2java на WSDL, который был создан из интерфейса!)

И для № 2 и для № 3, следующий код иллюстрирует использование CXF:

JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean();
factory.setAddress("http://admin:password@localhost:8080/services/MyService");
factory.setServiceClass(ITest.class);
ITest client = (ITest) factory.create();
client.test();
23
ответ дан bluish 27 November 2019 в 07:13
поделиться

В зависимости от которой версии JAVA Вы используете, часть JAX-WS встроена в него. JDK 6 имеет стандартную реализацию JAX-WS Java, и Вы могли просто использовать его.

Посмотрите следующее:

22
ответ дан bluish 27 November 2019 в 07:13
поделиться

Если Вы не можете ослабить свое "стороннее требование" библиотек, и у Вас есть WSDL для веб-сервиса тогда, Ось делает его действительно легким. Просто скомпилируйте WSDL с помощью wsdl2java, и можно использовать сгенерированные классы Java для потребления веб-сервиса.

8
ответ дан Neil N 27 November 2019 в 07:13
поделиться

Не пользуясь никакими сторонними библиотеками? Узнайте стандарт SOAP действительно хорошо и учитесь любить SAX.

, Если Вы не можете любить SAX, тогда слабый Ваше no-third-party-libs требование, и использовать StAX (с woodstox) вместо этого.

Этот подход мог бы быть "самым легким" (рассмотрение no-third-party-libs требования), но я не думаю, что это будет легко .

1
ответ дан Chris Vest 27 November 2019 в 07:13
поделиться
Другие вопросы по тегам:

Похожие вопросы: