因此,我最近升級到1.9.2 Ruby,永久使用1.8.7(我想試用Rails 3)。在Ruby 1.9.2中使用SOAP和其他標準庫
時遇到的最大的問題就是沒有我的SOAP的需要聲明的工作...我有事情,如:
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:[email protected]#{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
我沒有太多的肥皂經驗......我什至不知道wsdlDriver和RPC /驅動程序如何任何不同......只是我當時可能有一個很好的理由使用這兩個單獨的庫?
「而不是su成根和RVM紅寶石1.9」。 Root在正常的RVM配置中不會有「rvm」命令。 「rvm」命令將被隔離到用戶的`〜/ .rvm`沙箱。此外,除非它是系統範圍的RVM安裝,否則不應使用root權限或[「sudo」(http://rvm.beginrescueend.com/rubies/rubygems/)。所以輕輕一點。 – 2011-02-03 00:03:50