java wtc_通过Java来调用WTC服务

在上面说过如何在Weblogic中如何配置WTC服务,下面给出具体的Java代码的实现

package test;

import java.rmi.RemoteException;

import javax.naming.Context;

import javax.naming.InitialContext;

import javax.naming.NamingException;

import weblogic.wtc.gwt.TuxedoConnection;

import weblogic.wtc.gwt.TuxedoConnectionFactory;

import weblogic.wtc.jatmi.Reply;

import weblogic.wtc.jatmi.TPException;

import weblogic.wtc.jatmi.TPReplyException;

import weblogic.wtc.jatmi.TypedString;

public class WTCCaller {

/**

* 函数功能:执行调用命令,返回结果

*

* @param serviceName

*            服务名,可能取值如下:在WTC中配置的服务,即Import中的配置

* @param command 发送的命令

*             * @return 返回的结果值(即tuxedo返回的值)

* @throws TPException

* @throws TPReplyException

*/

public String execute(String serviceName, String command)

throws TPException, TPReplyException, RemoteException {

Context ctx;

TuxedoConnectionFactory tcf;

TuxedoConnection myTux;

TypedString myData;

Reply myRtn = null;

try {

ctx = new InitialContext();

tcf = (TuxedoConnectionFactory) ctx

.lookup("tuxedo.services.TuxedoConnection");

} catch (NamingException ne) {

String errorStr = "不能连接tuxedo服务,具体错误:" + ne;

throw new TPException(TPException.TPENOENT, errorStr);

}

myTux = tcf.getTuxedoConnection();

myData = new TypedString(command);

try {

myRtn = myTux.tpcall(serviceName, myData, 0);

} catch (TPReplyException tre) {

System.out.println("error occur");

throw tre;

} catch (TPException te) {

System.out.println("error occur");

te.printStackTrace();

throw te;

} catch (Exception ee) {

String errorStr = "调用tuxedo服务出错,具体错误:" + ee;

throw new TPException(TPException.TPESYSTEM, errorStr);

}

if (myRtn != null) {

myData = (TypedString) myRtn.getReplyBuffer();

myTux.tpterm();

}

//System.out.print(myData.toString());

return ("value:"+myData.toString());

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值