您的位置:首页 > 运维架构

使用openamp实现FMS与JEE之间的通信

2010-05-26 16:20 190 查看
1. 到openamf网站(http://www.sourceforge.net/projects/openamf)下载openamf压缩包(openamf-1.0RC12.zip),解压;
2. 将openamf.jar拷贝到JEE工程的WEB-INF/lib目录;
3. 将解压目录/src/web/WEB-INF目录下openamf-config.xml和build-webservice.xml两个配置文件拷贝到JEE工程WEB-INF/openamf目录下。当然,也可以自行修改目的目录位置,但是必须相应的更改下一步中web.xml文件中DefaultGateway这个Servlet的init-param值;
4. 在web.xml文件中增加默认网关入口:
<servlet>
<servlet-name>DefaultGateway</servlet-name>
<display-name>DefaultGateway</display-name>
<description>DefaultGateway</description>
<servlet-class>org.openamf.DefaultGateway</servlet-class>
<init-param>
<param-name>OPENAMF_CONFIG</param-name>
<param-value>/WEB-INF/openamf/openamf-config.xml</param-value>
<description>Location of the OpenAMF config file.</description>
</init-param>
</servlet>

<servlet-mapping>
<servlet-name>DefaultGateway</servlet-name>
<url-pattern>/gateway</url-pattern>
</servlet-mapping>
5. 其它依赖包。可以根据解压文件中的readme.txt中的说明将解压目录/lib/中的jar包拷贝到项目中,如果不确定全部拷入即可。
6. 在JEE端编写提供给FMS调用的java类,如com.zs.services.openamf.HelloWorld(提供sayHello方法)。
7. FMS端调用:
在调用asc文件前加上load(“netservices.asc”);
在调用方法里加入下面代码:
1) NetServices.setDefaultGatewayUrl(“http://localhost:8080/JeeApp/gateway”);
这一步设置JEE网关,这里的JeeApp为调用的JEE程序名称;
2) var conn = NetServices.createGatewayConnection();
这一步是获取NetConnection连接;
3) conn.call(“com.zs.services.openamf.HelloFMS.sayHello”, resObj, param);
这一步要注意填写完整的调用方法名称,包含所在包的全名;

8. 注意NetConnection的call方法是一个异步调用,调用值不会立即返回,必须通过resObj.onResult函数来处理返回结果。如果调用关系如下:flexàfmsàjee,即flex调用fms的函数,然后fms中的被调用函数又调用了jee中的函数,这个时候flex中第一次call并不能取得fms调用jee的值,这个时候最好通过在fms调用jee的resultObject.onResult中call flex客户端函数,返回结果。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐