Итак, я недавно обновил до 1.9.2 Ruby, использовав 1.8.7 навсегда (я хотел попробовать Rails 3).Использование SOAP и других стандартных библиотек в Ruby 1.9.2
Самая большая проблема у меня в том, что ни один из моих SOAP не требуют утверждения работают ... У меня есть такие вещи, как:
require 'soap/rpc/driver'
require 'xsd/qname'
require 'soap/wsdlDriver'
require 'ftools'
Even ftools не работает, но я думаю (смотреть на Ruby source), что это стало «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/водитель в любой разные ... просто у меня, вероятно, была веская причина использовать две отдельные библиотеки в то время?
"вместо су в корень и РВМ в Ruby 1.9". Корень не будет иметь команду «rvm» в обычной конфигурации RVM. Команда «rvm» будет изолирована от песочницы '~/.rvm' пользователя. Кроме того, если это не является общесистемной установкой RVM, привилегии root или ["sudo" никогда не должны использоваться] (http://rvm.beginrescueend.com/rubies/rubygems/). Так что простерте слегка. –
Спасибо. Это очень полезно для меня. – vinothini