это обновляется с исправлением.
я недавно обновился до 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
У меня нет большого опыта работы с мылом ... и я даже не уверен, что wsdlDriver и rpc / driver отличаются друг от друга ... просто у меня, вероятно, была хорошая причина использовать две отдельные библиотеки в то время?