Как создать клиент Ruby SOAP без использования WSDL? - PullRequest
4 голосов
/ 07 июля 2010

Мне нужно написать мыльный клиент, способный отправлять и получать мыльные сообщения.

У этой службы мыла нет связанного WSDL-файла, и, как представляется, soap4r и savon требуют один.

У меня есть пример того, что мне нужно сделать в Java, см. Ссылку ниже.

http://community.cecid.hku.hk/index.php/product/article/writing_hermes_2_ws_client_under_java/#ebms-2_0-sender-ws

Я мог бы использовать для этого Java, на данный момент кажется, чтобыть прощеОднако я лично предпочитаю кодирование на ruby, и наша компания имеет больше ресурсов ruby, чем java.

Может ли кто-нибудь подтвердить, что можно сделать что-то похожее на пример java в ruby ​​без написания моей собственной специализированной библиотеки мыла ?.Мне нужно иметь возможность отправлять полезные данные, которые, как я полагаю, обычно имеют форму мыльного вложения.

Мне особенно интересно видеть примеры soap4r, в которых не используется WSDL, поскольку у меня возникли проблемы с поискомлюбой с Google.

Любая помощь высоко ценится.

Ответы [ 3 ]

3 голосов
/ 09 сентября 2014

в версии Savon v2 синтаксис немного отличается

client = Savon.client do
  endpoint "http://example.com"
  namespace "http://v1.example.com"
end

http://savonrb.com/version2/client.html

1 голос
/ 14 февраля 2011

Savon не требует документа WSDL. Пожалуйста, посмотрите на новую документацию . Если вы знаете конечную точку SOAP и целевое пространство имен, вы можете выполнить запрос SOAP следующим образом:

client = Savon::Client.new
  wsdl.endpoint = "http://example.com"
  wsdl.namespace = "http://soap.example.com"
end

client.request :any_soap_action do
  soap.body = { :do => "something" }
end
0 голосов
/ 21 марта 2011
client = Savon::Client.new
  wsdl.endpoint = "http://example.com"
  wsdl.namspace = "http://soap.example.com"
end

Это не работает, оно пропускает имя блока и "e" в пространстве имен:

client = Savon::Client.new do | wsdl |
  wsdl.endpoint = "http://example.com"
  wsdl.namespace = "http://soap.example.com"
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...