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
分享到:
相关推荐
标题中的“ice最简单实现 ruby调用ice接口”是指在Ruby编程语言中使用ICE(Internet Communication Engine)框架来实现远程方法调用(RPC)。ICE是由ZeroC开发的一种跨平台、高性能的中间件,它允许不同语言的应用...
Ice 是一种针对客户端和服务器进行通信的面向对象的中间件平台。Ice 为构建面向对象的客户-服务器应用提供了工具、API 和库支持。客户和服务器通信双方可以用不同的编程...本代码为ice同步调用和异步调用实例代码。
Ice通过与编程语言无关的中立语言Slice(Specification Language fro Ice)来描述服务的接口,从而达到对象接口与其实现想分离的目的。 目前Ice平台支持客户端API的语言有C++、.NET、Java、Python、Object-C、...
Slice是为ICE量身定制的接口描述语言,用来定义ICE接口和服务。它独立于具体编程语言,能够将接口描述转换成不同的编程语言实现,从而支持从ICE到C++、Java、Python、C#、Ruby、PHP等多种语言的映射。这样,开发者...
ICE不仅支持主流的操作系统如Windows和Linux,还兼容多种编程语言,包括但不限于C++、Java、C#、Python、Ruby、PHP以及ActionScript等。 #### 二、ICE的主要组件与功能 ##### 2.1 Ice Ice是ICE平台的核心组件,它...
Ice通过与编程语言无关的中立语言Slice(Specification Language fro Ice)来描述服务的接口,从而达到对象接口与其实现想分离的目的。 目前Ice平台支持客户端API的语言有C++、.NET、Java、Python、Object-C、...
4. **接口定义语言(Slice)**:Ice使用的IDL(Interface Definition Language),用于描述对象接口,以及类型和异常等。 #### 四、Ice框架的核心组件 - **Ice运行时**:负责处理网络通信、序列化和反序列化等工作。...
- **使用C#、Java、JavaScript、Objective-C、PHP、Python、Ruby和Visual Basic编写Ice应用**:同样地,也为其他几种语言提供了创建简单Ice应用的指南。 ### Slice语言详解 - **Slice编译**:介绍如何将Slice源...
9. "ice-ruby-3.4.2-1.rhel5.i386.rpm":Ruby绑定,使Ruby开发者能够利用Ice。 综上所述,Ice 3.4.2是一个跨平台的中间件,提供了一种分布式计算的解决方案,支持多种编程语言,包括C++、Java和Ruby。它依赖于较新...
这篇博文链接(<https://ice-cream.iteye.com/blog/512580>)可能详细解释了Ruby的基本语法和特性,但由于没有实际内容,我将根据常见的Ruby语法知识进行阐述。 1. **变量**: Ruby有四种类型的变量:局部变量(`...
在配置好Eclipse和ICE环境后,可以开始编写和运行Java调用ICE的例子程序。首先,需要使用Slice2Java插件将ICE的Slice文件转换成Java代码。接下来,创建一个Eclipse项目,导入生成的Java类,编写客户端和服务端代码,...
ICE采用了一种称为Slice的语言来定义接口和服务,这是一种特定于ICE的接口描述语言,用于描述服务端提供的接口及其调用方法。Slice语言简洁且易于理解,它支持基本的数据类型、枚举、结构体、类等,并能自动生成对应...
2. **同步与异步通信**:Ice允许同步和异步的消息传递,提供了同步操作调用和异步操作分派。此外,还支持发布-订阅消息传递机制,增强了系统的灵活性和扩展性。 3. **硬件和操作系统无关性**:Ice的客户端和服务器...
在分布式系统中,服务注册功能允许服务的消费者能够发现可用的服务提供者,从而实现服务之间的动态绑定和调用。 在配电自动化主站系统中,还涉及到实时数据处理和控制算法。例如,PID(比例-积分-微分)控制算法在...
另外,调用钩子时,可以将其他参数传递给回调函数。 例子 让我们...一只猫。 require 'hooks' class Cat include Hooks define_hooks :before_dinner , :after_dinner 现在,您可以在类中以声明方式将回调添加...
9. **API集成**: 如果网站与第三方服务(如支付网关、社交媒体或天气API)集成,源代码中将包含API调用的相关部分。 10. **测试和调试**: 开发过程中,开发者可能使用了测试框架(如Jest或Mocha)和调试工具(如...