问题标签 [soap4r]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ruby - 我在尝试用 Ruby 构建 Web 服务客户端时遇到这些错误
我正在尝试在 Ruby 中构建一个 Web 服务客户端。
当我尝试调用以下soap4r ruby 脚本来生成Web 服务客户端代码时:
我收到以下错误:
忽略 attr:{http://www.w3.org/2006/05/addressing/wsdl}Action I,[2011-06-09T17:16:01.012268 #10104] 信息——应用程序:创建类定义。我,[2011-06-09T17:16:01.012268 #10104] 信息——应用程序:创建文件“SessionServic e.rb”。F,[2011-06-09T17:16:01.014268 #10104] 致命 -- 应用程序:检测到异常。停止 ping ... 未定义方法
collect' for #<String:0x32260c8> (NoMethodError) C:/Ruby192/lib/ruby/gems/1.9.1/gems/soap4r-1.5.8/lib/xsd/codegen/gensupport.rb:2 39:in
trim_eol' C:/Ruby192/lib/ruby/gems/1.9.1/gems/soap4r-1.5.8/lib/xsd/codegen/gensupport.rb:2 27:informat' C:/Ruby192/lib/ruby/gems/1.9.1/gems/soap4r-1.5.8/lib/xsd/codegen/commentdef.rb:2 7:in
dump_comment' C: /Ruby192/lib/ruby/gems/1.9.1/gems/soap4r-1.5.8/lib/xsd/codegen/classdef.rb:51: 在dump' C:/Ruby192/lib/ruby/gems/1.9.1/gems/soap4r-1.5.8/lib/wsdl/soap/classDefCreator.r b:118:in
块中 dump_complextype' C:/Ruby192/lib/ruby/gems/1.9 .1/gems/soap4r-1.5.8/lib/wsdl/soap/classDefCreator.r b:116:incollect' C:/Ruby192/lib/ruby/gems/1.9.1/gems/soap4r-1.5.8/lib/wsdl/soap/classDefCreator.r b:116:in
dump_complextype' C:/Ruby192/lib/ruby/gems/1.9.1/gems/soap4r-1.5.8/lib /wsdl/soap/classDefCreator.r b:60:dump' C:/Ruby192/lib/ruby/gems/1.9.1/gems/soap4r-1.5.8/lib/wsdl/soap/wsdl2ruby.rb:77:i n
块在 create_classdef' C:/Ruby192/lib/ruby/gems/1.9.1/gems/soap4r-1.5.8/lib/wsdl/soap/wsdl2ruby.rb:171: 在block in write_file' C:/Ruby192/lib/ruby/gems/1.9.1/gems/soap4r-1.5.8/lib/wsdl/soap/wsdl2ruby.rb:170: in
打开' C:/Ruby192/lib/ruby /gems/1.9.1/gems/soap4r-1.5.8/lib/wsdl/soap/wsdl2ruby.rb:170: 在write_file' C:/Ruby192/lib/ruby/gems/1.9.1/gems/soap4r-1.5.8/lib/wsdl/soap/wsdl2ruby.rb:76:i n
create_classdef' C:/Ruby192/lib/ruby/gems/1.9.1/gems/soap4r-1.5 .8/lib/wsdl/soap/wsdl2ruby.rb:62:create_file' C:/Ruby192/lib/ruby/gems/1.9.1/gems/soap4r-1.5.8/lib/wsdl/soap/wsdl2ruby.rb:42:i n
in run' C:/Ruby192/lib/ruby/gems/1.9.1/gems/soap4r-1.5.8/bin/wsdl2ruby.rb:46:inrun' C:/Ruby192/lib/ruby/1.9.1/logger.rb:691:in
开始' C:/Ruby192/lib/ruby/gems/1.9.1/gems/soap4r-1.5.8/bin/wsdl2ruby.rb:137:in<top ( required)>' C:/Ruby192/bin/wsdl2ruby.rb:19:in
加载' C:/Ruby192/bin/wsdl2ruby.rb:19:in `' 我,[2011-06-09T17:16:01.016268 #10104] 信息——应用程序:应用程序结束。(状态:-1)
何时,我尝试调用以下代码来动态生成 Web 服务客户端:
我收到以下错误:
C:/Ruby192/lib/ruby/gems/1.9.1/gems/httpclient-2.2.1/lib/httpclient/session.rb:748:in
initialize': The requested service provider could not be loaded or initialized. - socket(2) (http://*web_service_url*) (Errno::E10106) from C:/Ruby192/lib/ruby/gems/1.9.1/gems/httpclient-2.2.1/lib/httpclient/session.rb:748:in
new' 来自 C:/Ruby192/lib/ruby/gems/1.9。 1/gems/httpclient-2.2.1/lib/httpclient/session.rb:748:increate_socket' from C:/Ruby192/lib/ruby/gems/1.9.1/gems/httpclient-2.2.1/lib/httpclient/session.rb:705:in
block in connect' 来自 C:/Ruby192/lib/ruby/1.9.1/timeout.rb:57:intimeout' from C:/Ruby192/lib/ruby/1.9.1/timeout.rb:87:in
timeout' 来自 C :/Ruby192/lib/ruby/gems/1.9.1/gems/httpclient-2.2.1/lib/httpclient/session.rb:704:inconnect' from C:/Ruby192/lib/ruby/gems/1.9.1/gems/httpclient-2.2.1/lib/httpclient/session.rb:568:in
query' 来自 C:/Ruby192/lib/ruby/gems/1.9.1 /gems/httpclient-2.2.1/lib/httpclient/session.rb:158:inquery' from C:/Ruby192/lib/ruby/gems/1.9.1/gems/httpclient-2.2.1/lib/httpclient.rb:1057:in
do_get_block' 来自 C:/Ruby192/lib/ruby/gems/1.9.1/gems/httpclient-2.2.1/lib/httpclient。 rb:866:inblock in do_request' from C:/Ruby192/lib/ruby/gems/1.9.1/gems/httpclient-2.2.1/lib/httpclient.rb:953:in
protect_keep_alive_disconnected' 来自 C:/Ruby192/lib/ruby/gems/1.9.1/gems/httpclient-2.2.1/lib/httpclient.rb:865:indo_request' from C:/Ruby192/lib/ruby/gems/1.9.1/gems/httpclient-2.2.1/lib/httpclient.rb:938:in
follow_redirect 来自 C:/Ruby192/lib/ruby/gems/1.9.1/gems/httpclient-2.2.1/lib/httpclient.rb:577:inget_content' from C:/Ruby192/lib/ruby/gems/1.9.1/gems/soap4r-1.5.8/lib/wsdl/xmlSchema/importer.rb:73:in
fetch' 来自 C:/Ruby192/lib/ruby/gems/1.9 .1/gems/soap4r-1.5.8/lib/wsdl/xmlSchema/importer.rb:36:inimport' from C:/Ruby192/lib/ruby/gems/1.9.1/gems/soap4r-1.5.8/lib/wsdl/importer.rb:18:in
import' from C:/Ruby192/lib/ruby/gems/1.9.1/gems/soap4r-1.5.8/ lib/soap/wsdlDriver.rb:146:inimport' from C:/Ruby192/lib/ruby/gems/1.9.1/gems/soap4r-1.5.8/lib/soap/wsdlDriver.rb:32:in
从 C:/DevProjects/application-development-environment/UwsSampleRuby/blah.rb:6:in 初始化new' from C:/DevProjects/application-development-environment/UwsSampleRuby/blah.rb:6:in
'
当我尝试调用上面相同的代码,但使用不同的 URL(生产 URL 而不是测试环境 URL)时,我得到一个不同的错误:
C:/Ruby192/lib/ruby/gems/1.9.1/gems/httpclient-2.2.1/lib/httpclient/session.rb:748:in initialize': getaddrinfo: A non-recoverable error occurred during a database lookup. (https://[prod_url]:443) (SocketError)
from C:/Ruby192/lib/ruby/gems/1.9.1/gems/httpclient-2.2.1/lib/httpclient/session.rb:748:in
new' 来自 C:/Ruby192/lib/ruby/gems/1.9。 1/gems/httpclient-2.2.1/lib/httpclient/session.rb:748:in create_socket'
from C:/Ruby192/lib/ruby/gems/1.9.1/gems/httpclient-2.2.1/lib/httpclient/session.rb:705:in
block in connect' 来自 C:/Ruby192/lib/ruby/1.9.1/timeout.rb:57:in timeout'
from C:/Ruby192/lib/ruby/1.9.1/timeout.rb:87:in
timeout' 来自 C :/Ruby192/lib/ruby/gems/1.9.1/gems/httpclient-2.2.1/lib/httpclient/session.rb:704:in connect'
from C:/Ruby192/lib/ruby/gems/1.9.1/gems/httpclient-2.2.1/lib/httpclient/session.rb:568:in
query' 来自 C:/Ruby192/lib/ruby/gems/1.9.1 /gems/httpclient-2.2.1/lib/httpclient/session.rb:158:in query'
from C:/Ruby192/lib/ruby/gems/1.9.1/gems/httpclient-2.2.1/lib/httpclient.rb:1057:in
do_get_block' 来自 C:/Ruby192/lib/ruby/gems/1.9.1/gems/httpclient-2.2.1/lib/httpclient。 rb:866:in block in do_request'
from C:/Ruby192/lib/ruby/gems/1.9.1/gems/httpclient-2.2.1/lib/httpclient.rb:953:in
protect_keep_alive_disconnected' 来自 C:/Ruby192/lib/ruby/gems/1.9.1/gems/httpclient-2.2.1/lib/httpclient.rb:865:indo_request'
from C:/Ruby192/lib/ruby/gems/1.9.1/gems/httpclient-2.2.1/lib/httpclient.rb:938:in
follow_redirect 来自 C:/Ruby192/lib/ruby/gems/1.9.1/gems/httpclient-2.2.1/lib/httpclient.rb:577:in get_content'
from C:/Ruby192/lib/ruby/gems/1.9.1/gems/soap4r-1.5.8/lib/wsdl/xmlSchema/importer.rb:73:in
fetch' 来自 C:/Ruby192/lib/ruby/gems/1.9 .1/gems/soap4r-1.5.8/lib/wsdl/xmlSchema/importer.rb:36:in import'
from C:/Ruby192/lib/ruby/gems/1.9.1/gems/soap4r-1.5.8/lib/wsdl/importer.rb:18:in
import' from C:/Ruby192/lib/ruby/gems/1.9.1/gems/soap4r-1.5.8/ lib/soap/wsdlDriver.rb:146:inimport'
from C:/Ruby192/lib/ruby/gems/1.9.1/gems/soap4r-1.5.8/lib/soap/wsdlDriver.rb:32:in
从 C:/DevProjects/application-development-environment/UwsSampleRuby/blah.rb:6:in 初始化new'
from C:/DevProjects/application-development-environment/UwsSampleRuby/blah.rb:6:in
'
为什么我会收到这些错误,我该如何解决它们?我知道 Web 服务已经启动并正常工作,因为我能够在 C# .Net 中构建 Web 服务客户端就好了。
ruby-on-rails - 如何使用 SOAP::RPC::Driver 和 SOAP4r 的基本 http 身份验证
我在运行时使用driver=SOAP::RPC::Driver.new wsdl_path
. 我应该如何初始化/配置驱动程序以使用 http 基本身份验证?我试过driver.options["protocol.http.basic_auth"] = [endpoint_url,'username','password']]
了,但是失败了……
有谁知道如何做到这一点?
ruby - rails3顶部的soap服务
你好,有没有办法用 rails3 应用程序创建肥皂服务。我有一个旧应用程序与客户通过肥皂进行通信,我需要在 rails 3 框架上创建新的服务模拟。我没有机会更改客户端,因此无法将 API 更改为 REST 或 XML-RPC。
我发现之前有 actionwebservice 用于这样的事情,但是现在呢?
ruby-on-rails - 更改依赖宝石
我需要切换其他宝石所依赖的宝石。所以特别是:
我有 adwords4r gem,它依赖于旧的 soap4r(在 1.9.2 上有问题)。我想更改 adwords4r 依赖于其他的 gem(几乎相似,但对新的 ruby 版本有一些调整)。谢谢
ruby - 使用 SOAP4R 解析 WSDL 文件
有没有使用 SOAP4R 的 WSDL Parser 示例?我正在尝试列出 WSDL 文件的所有操作,但我无法弄清楚:(你能给我发一些教程吗?谢谢
ruby - 使用 Ruby/Powershell 使用 Web 服务
目前,我使用 Ruby 作为配置管理支持的核心编程语言。由于 Ruby (1.9.3) 的新版本,我无法使用 gem 配置来使用使用 NTLM 身份验证的 Web 服务。这是我使用 ruby 1.9.1 的 gem 配置。
我总是尽量保持简单,但我肯定跟不上更新。我在想,而不是使用完整的 ruby 实现来支持配置管理,可能是时候使用 microsoft(我根本不喜欢)脚本引擎(powershell)来运行特定的 microsoft 任务,而无需创建对越来越多 gem 的依赖项并制作它很难维护和更新。最初,我想为某些任务创建 ac# 控制台工具,但我发现了关于 powershell。我尝试使用soap4r,但不适用于1.9.3,但它适用于1.9.1(自定义固定gem)。我尝试了 savon gem,但 NTLM 身份验证没有成功结果。也许是时候使用两个脚本引擎的组合来保持它的可维护性了。有什么想法吗。
ruby - Ruby webservices - xmlparser问题
在尝试使用 Ruby 设置 web 服务设置后,我遇到了 xmlparser 的问题。正如我所看到的 - 这是常见的问题(例如Ruby soap4r wsdl2ruby.rb 错误),但它的解决方案,无论多么简单,对我来说并不成功。
我正在尝试运行从http://www.tutorialspoint.com/ruby/ruby_web_services.htm获取的代码,几乎没有更正(信号字符串没有封闭的撇号)。我首先使用安装了soap4r
并将 xmlparser.rb:66 固定为
代码:
不幸的是,这仍然不起作用。它给我一个错误:
调用 add_method(self, ...) 后
ruby - Ruby SOAP 代理类
我正在使用一个复杂的 SOAP 服务,我想知道是否有一个 ruby 工具可以让您使用预先生成的所有方法生成代理类。
NetBeans 在为类提供智能方面做得很好,我喜欢使用 Ruby 中的 SOAP,就像我以前使用 Java/C# 中的 SOAP 一样
ruby-on-rails-3 - Rails 3:Soap4r 为 akamai 请求返回“断言:未知数组定义”
在我们的应用程序中升级一些东西,现在我们对 Akamai 的肥皂请求没有触发。单元测试反而会导致返回RuntimeError: Assert: unknown array definition
这是 akamai 类:
我认为这可能是我在升级后的分支中添加了一些新的 gem,但是 Gemfile 中只有两个添加:
删除它们并不能解决问题。这是错误喷出:
ruby - 如何在soap4r中使用add_document_method
我正在寻找如何使用 Soap4r 向文档/文字样式 Web 服务请求发送请求的完整示例?关于SOAP::RPC::Driver 格式问题的相同问题。我怎样才能改变它?在 Stackoverflow 上就在那里,但我找不到调用该方法的方法。以下是我当前请求的生成方式。
但我希望我的请求采用以下格式,即文档/文字
或者
我也看过这个,但我无法在我的应用程序中设置 elementformdefault,因为我的 Soap4r 不支持这个元素名称。我不擅长 Ruby,如果我犯了任何错误,请原谅。我在 Ubuntu 8.04 上使用 ruby 1.8.6 并安装了 soap4r-1.5.8 但即使没有那个 gem,我的应用程序也会运行(默认的 soap4r 库可能正在工作)
我不知道如何让 ruby soap4r-1.5.8 库而不是默认的 soap4r 库工作。您可能想知道我的问题是什么,而我迫切希望以任何方式使其正常工作。