gpt4 book ai didi

ruby - 在 Ruby 1.9.2 中使用 SOAP 和其他标准库

转载 作者:数据小太阳 更新时间:2023-10-29 07:21:51 28 4
gpt4 key购买 nike

所以,我最近升级到 1.9.2 Ruby,一直使用 1.8.7(我想试用 Rails 3)。

我遇到的最大问题是我的 SOAP require 语句都不起作用......我有这样的事情:

 require 'soap/rpc/driver'
require 'xsd/qname'
require 'soap/wsdlDriver'
require 'ftools'

即使 ftools 也不起作用,但我认为(查看 Ruby 源代码)这变成了“fileutils”?但我没有看到任何与 SOAP 类似的东西……它刚刚被删除了吗?

如果是这样……我该怎么办?是否有任何插件可以做基本相同的事情?

我的代码是这样的:

 require 'soap/wsdlDriver'
def send_package
adi_url = "ftp://anonymous:ads123@#{APP_CONFIG['pcms_ip']}/#{self.id}/original/ADI.XML"


cl0 = SOAP::WSDLDriverFactory.new(APP_CONFIG['corba_bridge'])
driver = cl0.create_rpc_driver
driver.streamhandler.client.receive_timeout = 10
x = driver.exportPackage2(self.name+self.id.to_s, adi_url, "NS2.PackageFactory")
log x

if x.to_s =~ /ERROR/
raise x.to_s
end
end

 require 'soap/rpc/driver'
require 'xsd/qname'
def get_self_offering_ids(wsdl, namespace)
ret = []
input = {"#{namespace}:includeAssetMetadata" => 'true'}

begin
driver = SOAP::RPC::Driver.new(wsdl, namespace)
driver.add_document_method('GetAllOfferingsRequest', "OpenStreamVOD#getAllOfferings", XSD::QName.new(namespace, "GetAllOfferingsRequest"), XSD::QName.new(namespace, "GetAllOfferingsResponse"))
result = driver.GetAllOfferingsRequest(input)
rescue => err
log err
end

if result
result.offering.each do |o|
if offeringIsSelf?(o)
ret << o.xmlattr_offeringId
end
end
end

return ret
end

我没有太多 soap 经验...我什至不确定 wsdlDriver 和 rpc/driver 有何不同...只是当时我可能有充分的理由使用这两个独立的库?

最佳答案

https://rubygems.org/gems/soap4r-ruby1.9

gem 安装 soap4r-ruby1.9

这个 gem 解决了我与 ruby​​ 1.9 的大部分 soap 相关问题

关于ruby - 在 Ruby 1.9.2 中使用 SOAP 和其他标准库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4878388/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com