Подтвердить что ты не робот

Какая стандартная библиотека SOAP используется в groovy?

Мне просто нужен SOAP-клиент для выполнения удаленных вызовов, но я немного Groovy noob. Согласно Groovy документации, стандартная библиотека Groovy SOAP устарела. Вместо этого документы указывают на новую библиотеку: GroovyWS.

К сожалению, у GroovyWS есть предупреждение, в котором говорится, что проект неактивен, и затем он указывает на Groovy WSLite.

Groovy WSLite фактически все еще находится в активной разработке, но не очень "Groovy -ish" по сравнению с предыдущими 2 библиотеками. Является ли wslite тем, что все используют?

4b9b3361

Ответ 1

Думаю, вы найдете GroovyWS и groovy-wsliteHTTP Builder) используются в качестве Groovy клиентских библиотек SOAP в проектах, и решение, вероятно, было одним из них, и у кого был API/подход, который пользователь предпочитал (в этом порядке).

Мой совет: дать GroovyWS попробовать, если вам нравится API, который он предоставляет, и его способность проксировать документ WSDL и посмотреть, работает ли он на услуг, с которыми вам нужно взаимодействовать. В мире SOAP ничего не изменилось, поэтому я не стал бы слишком беспокоиться о том, как недавно он был обновлен. Если это сработает, тогда вы закончите, если у вас возникнут некоторые проблемы, которые вы не можете легко найти, тогда я попробую альтернативы.

groovy-wslite (отказ от ответственности: я автор) направлен на предоставление облегченной (с точки зрения зависимости) альтернативы, которая торгует удобством разбора/проксирования WSDL для облегчения контроля над полученным мыльным вызовом без необходимости углубляться в внутренние части некоторых базовых структур Java, таких как CXF. Некоторые предпочитают иметь дополнительные функции библиотеки, построенной на основе такой структуры, в то время как другие могут предпочесть простоту другого подхода.

То, что делает Groovy настолько большим, насколько легко интегрироваться с Java. Таким образом, как уже отмечали другие, вы можете легко интегрироваться с клиентами веб-сервиса Java, такими как Spring WS, CXF и JAX-WS.

Ответ 2

Я останусь в стороне от groovyws, это отстой. Осмотревшись, я, наконец, выбрал решение для использования веб-сервисов spring и веб-служб, управляемых контрактами.

Клиент создает объекты команд с помощью метода toXml(), который генерирует XML-запрос для мыла. Затем используйте WebServiceTemplate для отправкиToEndpoint.

Для сервера мы используем конечные точки spring веб-сервисов. Анализ входящего xml является дочерней игрой, и вам не нужно выделять XML в объект, так как GPathResult, являющийся результатом XmlSlurper, полностью управляем. Наш сервер работает на вершине грааля, поэтому мы использовали плагин springws grails, что упрощает создание Endpoints.

Однако есть одно предостережение. Плагин springws для grails устарел. spring веб-сервисы теперь версии 2.x и плагин springws поставляется с 1.4.x, я думаю. Тем не менее, он очень прост в использовании без плагина, и я думаю, что обновление плагина до нового api не сложно.

Кроме того, если вы хотите делать MTOM, Springws становится немного сложнее, потому что вам нужно углубиться в обработку сообщений. Я смог сделать некоторые довольно продвинутые материалы ws-security с помощью spring веб-сервисов, но никаких проблем.

В противном случае я бы использовал cxf (красиво обрабатывает MTOM), если вы хотите придерживаться jax-ws et al. Вероятно, перегрев выше, потому что все динамически созданные прокси и pojos. Кроме того, это не связано с контрактом, что является большим плюсом для нас.

http://predic8.com/groovy-web-services-jax-ws.htm

http://cxf.apache.org/docs/how-do-i-develop-a-client.html

Ответ 3

Похоже, ты сделал домашнее задание! Groovy WS Lite, похоже, в настоящее время работает. Если вы хотите видеть spring -ws в действии с помощью Groovy, то вот набор тестов, который я создал в github.