WEBLOGIC通过WTC调TUXEDO服务,需要做好两方面的工作,即TUXEDO方和WEBLOGIC方。一般说来,其基本步骤为:
步骤1:基础准备工作--安装并配置好WEBLOGIC与TUXEDO环境;
步骤2:TUXEDO方面相关工作
2.1 写TUXEDO服务(参考tuxedo自带样例,见博文为WTC配置TUXEDO配置文件ubbconfig);
2.2 配置并编译配置文件ubbconfig(参考博文为WTC配置TUXEDO配置文件ubbconfig);
2.3 配置并编译配置文件domconfig(参考博文为WTC配置TUXEDO配置文件domconfig);
2.4 起服务;
步骤3:WEBLOGIC方面相关工作(参考博文为WTC配置WEBLOGIC服务访问点)
配置WTC Server,主要涉及到:Local APs、Remote APs、Imported、Resource等相应配置;
步骤4:WTC调TUXEDO服务;
下面,我们给出完成步骤1、2、3之后,验证能否达到预期效果的测试代码,即步骤4的任务。
该测试样例是以上面配置产生的tuxedo自带的例子TOUPPER服务,即以String作为两者消息交互载体!
测试代码wtcStr.jsp
<%@ page language="java" pageEncoding="utf-8"%>
<%@ page import="weblogic.wtc.jatmi.*,weblogic.wtc.gwt.*, javax.naming.*,java.io.*" %>
<%
String inStr = "lowercase";
String outStr = "";
try
{
//调用接口服务
Context ctx = new InitialContext();
TuxedoConnectionFactory tuxedoFactory = (TuxedoConnectionFactory) ctx.lookup("tuxedo.services.TuxedoConnection");
TuxedoConnection tuxedoConn= tuxedoFactory .getTuxedoConnection();
TypedString xdata = new TypedString(inStr);
Reply reply = tuxedoConn.tpcall("TOUPPER", xdata, 0);
xdata = (TypedString) reply .getReplyBuffer();
outStr = xdata.toString();
tuxedoConn.tpterm();
out.println("out = "+outStr);
}
catch(Exception e)
{
outStr = e.getMessage();
StringWriter sw = new StringWriter();
PrintWriter pw = new PrintWriter(sw);
e.printStackTrace(pw);
out.print(sw);
sw.close();
pw.close();
}
%>
关于JNDI查找tuxedo服务工厂的问题,可参考博文关于JNDI那点事!