Невозможно вызвать веб-сервис из Groovy - PullRequest
1 голос
/ 23 февраля 2009

Я рассматриваю первые примеры из новой книги Web-сервисы Java: запуск и запуск . Я попытался просмотреть пример клиента SOAP для Java на стр. 13, но в Groovy.

Итак, вот мой код оболочки Groovy:

import javax.xml.namespace.QName
import javax.xml.ws.Service
import java.net.URL

url = new URL("http://someURL?wsdl")
qname = new QName("http://someURL", "SomeURLImplService")
service = Service.create(url, qname)

Но это не с этой ошибкой:

ERROR groovy.lang.MissingMethodException: No signature of method: \
static javax.xml.ws.Service.create() is applicable for argument types: \
(java.net.URL, javax.xml.namespace.QName) values: {http://someURL?wsdl, \
{http://someURL}SomeURLImplService}

Я не понимаю этого, поскольку Groovy говорит мне, что этот метод с такой подписью действительно существует:

groovy:000> Service.class.getMethods().each {println it}
public static javax.xml.ws.Service \
javax.xml.ws.Service.create(java.net.URL,javax.xml.namespace.QName)
...

Кто-нибудь знает, что я здесь не так делаю?

Ответы [ 2 ]

2 голосов
/ 24 февраля 2009

Я попытался запустить ваш код без изменений, и он работал нормально для меня. Ваша проблема может быть связана с версией Java или путем к классам. Файл javax.xml.ws (JAX-WS) является только частью Java SE, начиная с Java 6. Если вы не запускаете этот тест в Java 6, это может быть вашей проблемой. Вероятно, это не ваша проблема, так как если бы вы этого не сделали, я бы не ожидал, что вы сможете разрешить эти интерфейсы.

Другая вещь, которая может возникнуть, это проблема с классами. Внешние провайдеры JAX-WS могут быть подключены к среде исполнения Java. У вас есть что-нибудь на вашем classpath, которое является провайдером JAX-WS? Возможно, это более ранняя версия.

1 голос
/ 25 февраля 2009

Я попробовал еще раз, загрузив Groovy вручную (вместо использования дистрибутива, поставляемого с Ubuntu). Теперь это работает. Пойди разберись.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...