问题标签 [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.

0 投票
1 回答
1028 浏览

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:intrim_eol' C:/Ruby192/lib/ruby/gems/1.9.1/gems/soap4r-1.5.8/lib/xsd/codegen/gensupport.rb:2 27:in format' C:/Ruby192/lib/ruby/gems/1.9.1/gems/soap4r-1.5.8/lib/xsd/codegen/commentdef.rb:2 7:indump_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:in collect' C:/Ruby192/lib/ruby/gems/1.9.1/gems/soap4r-1.5.8/lib/wsdl/soap/classDefCreator.r b:116:indump_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 ncreate_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 nin 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)

何时,我尝试调用以下代码来动态生成 W​​eb 服务客户端:

我收到以下错误:

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:innew' 来自 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:inblock 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:inquery' 来自 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:in do_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:in import' 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:innew' 来自 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:inblock 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:intimeout' 来自 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:inquery' 来自 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:indo_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:inprotect_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:infollow_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:infetch' 来自 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:inimport' 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 服务客户端就好了。

0 投票
1 回答
636 浏览

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']]了,但是失败了……

有谁知道如何做到这一点?

0 投票
3 回答
616 浏览

ruby - rails3顶部的soap服务

你好,有没有办法用 rails3 应用程序创建肥皂服务。我有一个旧应用程序与客户通过肥皂进行通信,我需要在 rails 3 框架上创建新的服务模拟。我没有机会更改客户端,因此无法将 API 更改为 REST 或 XML-RPC。

我发现之前有 actionwebservice 用于这样的事情,但是现在呢?

0 投票
1 回答
109 浏览

ruby-on-rails - 更改依赖宝石

我需要切换其他宝石所依赖的宝石。所以特别是:

我有 adwords4r gem,它依赖于旧的 soap4r(在 1.9.2 上有问题)。我想更改 adwords4r 依赖于其他的 gem(几乎相似,但对新的 ruby​​ 版本有一些调整)。谢谢

0 投票
1 回答
2272 浏览

ruby - 使用 SOAP4R 解析 WSDL 文件

有没有使用 SOAP4R 的 WSDL Parser 示例?我正在尝试列出 WSDL 文件的所有操作,但我无法弄清楚:(你能给我发一些教程吗?谢谢

0 投票
1 回答
581 浏览

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 身份验证没有成功结果。也许是时候使用两个脚本引擎的组合来保持它的可维护性了。有什么想法吗。

0 投票
1 回答
403 浏览

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, ...) 后

0 投票
2 回答
593 浏览

ruby - Ruby SOAP 代理类

我正在使用一个复杂的 SOAP 服务,我想知道是否有一个 ruby​​ 工具可以让您使用预先生成的所有方法生成代理类。

NetBeans 在为类提供智能方面做得很好,我喜欢使用 Ruby 中的 SOAP,就像我以前使用 Java/C# 中的 SOAP 一样

0 投票
1 回答
398 浏览

ruby-on-rails-3 - Rails 3:Soap4r 为 akamai 请求返回“断言:未知数组定义”

在我们的应用程序中升级一些东西,现在我们对 Akamai 的肥皂请求没有触发。单元测试反而会导致返回RuntimeError: Assert: unknown array definition

这是 akamai 类:

我认为这可能是我在升级后的分支中添加了一些新的 gem,但是 Gemfile 中只有两个添加:

删除它们并不能解决问题。这是错误喷出:

0 投票
0 回答
217 浏览

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 库工作。您可能想知道我的问题是什么,而我迫切希望以任何方式使其正常工作。