Tuxedo与Weblogic互连指南(3)--测试
2014-11-16 16:53
281 查看
Weblogic调用Tuxedo
Weblogic调用Tuxedo示例程序WTC的EJB示例程序TOLOWER
Tuxedo Simpapp示例
1、编写测试程序,使用web项目,引入必要jar,编写index.jsp调用Tuxedo服务,部署到Weblogic中
<%@ page language="java" pageEncoding="utf-8"%> <%@ page import="weblogic.wtc.jatmi.*,weblogic.wtc.gwt.*, javax.naming.*" %> <% <span style="white-space:pre"> </span>try{ //1、初始化环境 Context ctx = new InitialContext(); //2、jndi查找tuxedo连接 TuxedoConnectionFactory tuxedoFactory = (TuxedoConnectionFactory) ctx.lookup("tuxedo.services.TuxedoConnection"); //3、创建连接 TuxedoConnection tuxedoConn = tuxedoFactory.getTuxedoConnection(); //4、创建传入参数 String inStr = "helloworld"; TypedString xdata = new TypedString(inStr); //5、调用TOUPPER Reply reply = tuxedoConn.tpcall("TOUPPER", xdata, 0); //6、获取返回 xdata = (TypedString)reply .getReplyBuffer(); out.println("调用成功返回:"+xdata.toString()); //7、释放连接 tuxedoConn.tpterm(); } catch(Exception e) { out.print(e.getMessage()); } %>
示例项目在附件中已提供,里面已包含相关jar包,需要注意weblogic.jar的版本问题。Weblogic11g和Weblogic10g中自带的weblogic.jar缺少相关类,附件中使用的是weblogic8的包。
2. 测试Weblogic调用Tuxedo
index.jsp中传入小写hellowold,调用Tuxedo的TOUPPER方法返回大写的HELLOWORLD。
首次调用时Weblogic将创建于Tuxedo的连接,在simpapp文件夹下的ULOG日志中会输出115139.HONGHU!GWTDOMAIN.2652.2024.0:LIBGWT_CAT:1128: INFO: Connection accepted from domain (domainid=<TDOM2>)
Tuxedo调用Weblogic
1. 编写EJB应用,附件已经提供ejb-jar.xml
<?xml version="1.0" encoding="UTF-8"?> <ejb-jar xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/ejb-jar_2_1.xsd" version="2.1"> <enterprise-beans> <session> <ejb-name>TOLOWER</ejb-name> <home>weblogic.wtc.jatmi.TuxedoServiceHome</home> <remote>weblogic.wtc.jatmi.TuxedoService</remote> <ejb-class>hello.ToLowerBean</ejb-class> <session-type>Stateless</session-type> <transaction-type>Container</transaction-type> </session> </enterprise-beans> </ejb-jar>weblogic-ejb-jar.xml
<?xml version="1.0" encoding="UTF-8"?> <weblogic-ejb-jar xmlns="http://www.bea.com/ns/weblogic/90" xmlns:j2ee="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.bea.com/ns/weblogic/90 http://www.bea.com/ns/weblogic/90/weblogic-ejb-jar.xsd"> <weblogic-enterprise-bean> <ejb-name>TOLOWER</ejb-name> <stateless-session-descriptor/> <jndi-name>tuxedo.services.TOLOWERHome</jndi-name> </weblogic-enterprise-bean> </weblogic-ejb-jar>
1.ejb-jar.xml的home和remote节点内容为固定写法
2.weblogic-ejb-jar.xml的jndi-name节点内容与WTC【已导出】的”EJB名称“一致
EJB实现代码如下
package hello; import javax.ejb.SessionBean; import weblogic.ejb.GenericSessionBean; import weblogic.ejbgen.RemoteMethod; import weblogic.wtc.jatmi.Reply; import weblogic.wtc.jatmi.TPServiceInformation; import weblogic.wtc.jatmi.TypedString; public class ToLowerBean extends GenericSessionBean implements SessionBean { private static final long serialVersionUID = 1L; public void ejbCreate() { System.out.println("Create EJB"); } @RemoteMethod() public Reply service(TPServiceInformation inData) throws Exception { System.out.println("Call TOLOWER"); //1、获取传入的数据,转型要根据调用时传入的类型 TypedString data = (TypedString) inData.getServiceData(); //2、获取具体字段值, //需要注意TypedFML32的取值方法Fget的第一个参数要与调用时定义的一致 System.out.println("InData:"+data.toString()); //3、创建返回数据 TypedString result = new TypedString(data.toString().toString().toLowerCase()); inData.setReplyBuffer(result); return (inData); } }
如果使用FML32格式,会比String格式复杂一些,在EJB中FML32的取值赋值要根据调用时指定指针位置。
2. 部署EJB项目,如图
3. 调用Tuxedo的TOLOWER服务,转发给Weblogic的WTC服务,最后交由EJB服务完成大写字母转小写的功能,修改simpapp目录中的simpcl.c文件,将里面的TOUPPER改为TOLOWER,然后重新编译,输入simpcl HELLOWORLD命令,返回小写helloworld,如图
Weblogic控制台中输出调试信息
结束
至此Weblogic调用Tuxedo的TOUPPER方法和Tuxedo调用Weblogic的TOLOWER方法都已配置完成,祝大家”码到成功“!相关文章推荐
- Tuxedo与Weblogic互连指南(2)--Weblogic部分
- TUXEDO与WEBLOGIC通过WTC进行互连的配置
- Load Runner测试脚本(tuxedo服务)的编写指南
- WebLogic Tuxedo Connector 快速入门指南
- TUXEDO与WEBLOGIC通过WTC进行互连的配置(转)
- TUXEDO与WEBLOGIC通过WTC进行互连的配置
- 安装测试Apache Proxy For Weblogic Cluster
- Web自动化测试工具Selenium 1.0正式发布:Chrome支持+用户指南
- 研究性能测试工具之systemtap入门指南(二)
- weblogic10 因weblogic.wtc.wls.WlsTuxedoLoggable.forget(Unknown Source)启动失败
- 安装测试指南
- [Nmap渗透测试指南]第四章(指纹识别与探测)
- 用户界面测试指南
- 白盒静态自动化测试工具:PMD使用指南
- 移动web设计之各个平台浏览器兼容性测试指南
- Web应用程序完全测试指南
- A/B测试全面指南
- 软件测试指南:从入门到精通
- 云计算产品性能测试指南
- (译文)A/B测试从入门到熟练指南