天天看點

ruby 調用ICE接口

require 'rubygems' require 'Ice' require 'rexml/document' $KCODE = "e" module Com module Huawei module Testtools module Exchange if not defined?(::Com::Huawei::Testtools::Exchange::CallInterface_mixin) module CallInterface_mixin include ::Ice::Object_mixin def ice_ids(current=nil) ['::Ice::Object', '::com::huawei::testtools::exchange::callInterface'] end def ice_id(current=nil) '::com::huawei::testtools::exchange::callInterface' end # # Operation signatures. # # def remoteCall(request, current=nil) def inspect ::Ice::__stringify(self, T_CallInterface) end end class CallInterface include CallInterface_mixin def CallInterface.ice_staticId() '::com::huawei::testtools::exchange::callInterface' end end module CallInterfacePrx_mixin def remoteCall(request, _ctx=nil) CallInterface_mixin::OP_remoteCall.invoke(self, [request], _ctx) end end class CallInterfacePrx '', 'service' => 'TICC'}) cmd_node = root.add_element('cmd', {'function' => 'createExecuteTask'}) cmd_node.add_element('para', {'name' => 'tasId'}).add_element('value') req = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" + doc.to_s resXml = proxy.remoteCall(req).to_s starttask(proxy, ticcip) rescue Ice::EndpointParseException => e puts 'ticc ip parse error, ' + e.message rescue Ice::ConnectionRefusedException => e puts 'error, ticc connect failed, ' + e.message rescue Exception => e puts 'error: ' + e.message end end