webservice中的wtc服务,调用tuxedo

来源:互联网 发布:青年文明号 网络歌手 编辑:程序博客网 时间:2024/05/16 15:23
import java.rmi.RemoteException;import java.sql.Timestamp;import javax.naming.Context;import javax.naming.InitialContext;import javax.naming.NamingException;import org.apache.commons.logging.Log;import org.apache.commons.logging.LogFactory;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;/** * desc:调用Tuxedo通用方法类 *  * @author *  * @version SVN $Revision: 1.1 $ $Date: 2005/07/12 02:06:49 $ */public class CallTuxedoSrv {/** * 函数功能:执行调用命令,返回结果 *  * @param serviceName *            服务名,可能取值如下:在WTC中配置的服务,即Import中的配置 *  * @param command *            发送的命令 *  * @return 返回的结果值(即tuxedo返回的值) *  * @throws TPException * @throws TPReplyException *  */    //日志    private static final Log log = LogFactory.getLog(CallTuxedoSrv.class);public static String callService(String serviceName, String command)throws TPException, TPReplyException, RemoteException {Context ctx;TuxedoConnectionFactory tcf;TuxedoConnection myTux;TypedString myData;Reply myRtn = null;String result = "";log.info("本次开始连接TUXEDO服务时间:"+new Timestamp(System.currentTimeMillis()));try {ctx = new InitialContext();tcf = (TuxedoConnectionFactory) ctx.lookup("tuxedo.services.TuxedoConnection");} catch (NamingException ne) {String errorStr = "不能连接tuxedo服务";throw new TPException(TPException.TPENOENT, errorStr);}myTux = tcf.getTuxedoConnection();myData = new TypedString(command);try {            log.info("TUXEDO通讯,发送至联机报文==>"+myData);myRtn = myTux.tpcall(serviceName, myData, 0);} catch (TPReplyException tre) {throw tre;} catch (TPException te) {throw te;} catch (Exception ee) {String errorStr = "调用tuxedo服务出错,具体错误:" + ee;throw new TPException(TPException.TPESYSTEM, errorStr);}if (myRtn != null) {myData = (TypedString) myRtn.getReplyBuffer();myTux.tpterm();}else{            log.info("TUXEDO通讯失败!");        }if (myData != null) {result = myData.toString();            log.info("TUXEDO通讯,联机返回报文==>"+result);}else{            log.info("TUXEDO通讯,联机返回报文为空!");        }log.info("本次连接TUXEDO服务返回结果时间:"+new Timestamp(System.currentTimeMillis()));return result;}}