그래서 최근에 1.9.2 Ruby로 업그레이드하여 영원히 1.8.7을 사용했습니다 (레일 3을 시험해보고 싶었습니다). (상기 볼 작동하지Ruby 1.9.2에서 SOAP 및 기타 표준 라이브러리 사용
require 'soap/rpc/driver'
require 'xsd/qname'
require 'soap/wsdlDriver'
require 'ftools'
에도 ftools, 그러나 나는 생각한다
나는 데 가장 큰 문제는 내 SOAP 아무도 문 작업이 필요 없다는 것입니다 ... 내가 좋아하는 일을 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/드라이버가 어떤을 얼마나 모르겠어요 :
내 코드는 같다 다른 ... 그 당시에 두 개의 개별 라이브러리를 사용하기에 좋은 이유가 있었을까요?
루비 1.9 내 비누와 관련된 대부분의 문제를 해결했다. Root는 일반적인 RVM 구성에서 "rvm"명령을 갖지 않습니다. "rvm"명령은 사용자의'~/.rvm' 샌드 박스와 격리됩니다. 또한 시스템 차원의 RVM 설치가 아니라면 루트 권한 또는 [ "sudo"를 사용해서는 안됩니다.] (http://rvm.beginrescueend.com/rubies/rubygems/). 그래서 가볍게 밟아 라. –
감사합니다. 이것은 나에게 매우 유용하다. – vinothini