Java通过Jolt调用Tuxedo服务-补充说明

原创 2006年06月03日 21:24:00

Java通过Jolt访问Tuxedo服务-补充说明

草木瓜

2006-6-2

一、页面参数文件说明以及通过WebLogic调用Tuxedo服务

《Java通过Jolt访问Tuxedo服务》一文是在Eclipse环境下开发调用Tuxedo服务。

其中在index.asp和liwei.java中有这么几句语句:

index.asp

<form id=form1 name="form1" action=liwei method=post>
<input type="text" name="STRING" value="1">
<input type=submit value=submit>

liwei.java

//跟据传递的变量STRING值,获取返回值
out.println("返回值:"+result.getValue("STRING", ""));

这两段的STRING是不可以随便替换的,这必须与E:/bea/tuxedo9.0/udataobj/jolt/repository
下jrepository文件描述的服务参数相一致!且必须为大写!即:

add SVC/DBREAD:vs=1:ex=1:bt=STRING:/
 bp:pn=STRING:pt=string:pf=167772161:pa=rw:ep:       //这里面定义的参数就是STRING
add PKG/SIMPSERV:DBREAD:
     
下面用WebLogic对Tuxedo服务调用再详细的举例说明。

WebLogic通过jolt调用Tuxedo服务,有了上文的前提就显得很容易,说白了只是Servlet与Jsp的一点
小转换。除了最后一步在Eclipse3.1编写Servlet代码,其他的前提步骤是必须的。WebLogic要使用
Jolt接口,同样需要jolt,joltjse,joltwls三个jar包,将它们Copy到WEB-INF下的lib文件夹即可。

以下是完整的示例,参数名用大写的TEST。

index.jsp
---------------------------------

<form action="_test/testTuxedo.jsp" method="post">
<p>
<input type="text" value="1" name="TEST" id="text1"><input type="submit" value="tuxedo">
</p>
</form>

testTuxedo.jsp
---------------------------------

<body>
<p>
   
    <%
      bea.jolt.pool.servlet.ServletSessionPoolManager bool_mgr = (bea.jolt.pool.servlet.ServletSessionPoolManager) bea.jolt.pool.SessionPoolManager.poolmgr;
      bea.jolt.pool.servlet.ServletResult result;
     //获取在WebLogic服务定义好的连接池
     bea.jolt.pool.servlet.ServletSessionPool pool_session = (bea.jolt.pool.servlet.ServletSessionPool)
       bool_mgr.getSessionPool("JoltPool");
     if (pool_session == null) {
       out.println("获取Tuxedo服务失败。"+
                   "<br>"+
                   "确认Tuxedo服务已启动且配置正确。");
       out.close();
       return;
     }
     // 调用服务
     try
     {
       result = pool_session.call("DBREAD", request);
       System.out.println("OK!");
       out.println("传递的参数 = " + sendvalue);
       out.println("Tuxedo服务成功调用。 ");
       out.println("返回值:"+result.getValue("TEST", ""));
     }
     catch (bea.jolt.pool.SessionPoolException e)
     {
       // 连接池繁忙
       out.println("此时请求不能被处理。/n"+
                   "错误信息: "+e.getMessage()+"/n"+
                   "可能的原因:1.无效的连接池 2.连接池已关闭");
     }
     catch (bea.jolt.pool.ServiceException e)
     {
       // 服务出错
     e.printStackTrace();
       out.println("Error:"+
                   "Error message:"+e.getMessage()+
                   "Error number:"+e.getErrno());
     }
     catch (bea.jolt.pool.ApplicationException e)
     {
       // 应用程序出错
       result = (bea.jolt.pool.servlet.ServletResult) e.getResult();
       out.println("错误代码:"+result.getApplicationCode());
     }
     catch (Exception e)
     {
       out.println("意外错误:"+e);
     }
    
  %>
</p>
</body>


二、典型的服务应用

Oracle服务器   192.168.0.111
Tuxedo服务器   192.168.0.66
Web服务器     

通过Web客户端访问Web服务器,调用Tuxedo服务访问数据库

1.配置Tuxedo服务器的Oracle连接字符串(TNSNAME)。注意Oracle服务器的防火墙

WINDB =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.111)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = wincn)
    )
  )
 
2.配置Tuxedo的jrepository文件
3.配置Tuxedo的Config文件,JSR服务的IP与端口要与本地IP一致。

JSL SRVGRP=JSLGRP SRVID=301
CLOPT="-A -- -n //192.168.0.66:9988 -M 10 -x 10 -m 2"

4.配置Web服务器的WebServer,config.xml中ip与端口即为Tuxedo服务器的JSR服务IP与端口
注意Tuxedo服务器的防火墙。

<JoltConnectionPool FailoverAddresses="//192.168.0.66:9988"
    MaximumPoolSize="2" MinimumPoolSize="1" Name="JoltPool"
    PrimaryAddresses="//192.168.0.66:9988"
    SecurityContextEnabled="false" Targets="webServer"/>

使用java通过jolt调用tuxedo

先来段废话很多东西都是成功前,觉得非常难;成功了之后,又觉得没什么,不值得记录下来。其实不是的,你成功了,后面还是有很多的未成功的新人的,所以必须要分享出来。特别是一些用的人不多的技术。像tuxedo...
  • ouyida3
  • ouyida3
  • 2014年11月02日 10:49
  • 4545

JOLT的配置与编程简介

  JOLT的配置与编程简介  开发建立一个 JOLT 客户端访问 BEA Tuxedo 的应用服务的主要的步骤,可以描述以下的过程(参见下图) 1、 确认已经安装 BEA Jolt 系统2、 首先要...
  • brucelee0224
  • brucelee0224
  • 2007年05月01日 13:11
  • 5774

[tuxedo]jolt访问tuxedo服务

package test; import bea.jolt.JoltMessage; import bea.jolt.JoltRemoteService; import bea.jolt.JoltS...
  • attwice
  • attwice
  • 2014年04月22日 15:29
  • 1151

Java通过Jolt调用Tuxedo服务

Java通过Jolt调用Tuxedo服务草木瓜 2006-6-1------------------------一、简介------------------------外部应用访问Tuxedo服务是很...
  • liwei_cmg
  • liwei_cmg
  • 2006年06月02日 09:11
  • 15719

Tuxedo协议开发jolt.jar

  • 2016年11月15日 17:11
  • 135KB
  • 下载

简单对象访问协议

简单对象访问协议  锁定 SOAP(简单对象访问协议)一般指简单对象访问协议 本词条由“科普中国”百科科学词条编写与应用工作项目审核。 ...
  • evilcry2012
  • evilcry2012
  • 2015年05月29日 09:57
  • 364

通过jolt连接Tuxedo服务的方法

Bea Jolt的配置与编程(By Star_CHL) Date:2006-01-19Email:Star_CHL@sina.com目的: 实现对现有Tuxedo 8.1业务逻辑处理服务通过Java程...
  • Star_CHL
  • Star_CHL
  • 2006年01月19日 14:58
  • 5244

调用TUXEDO服务概览

对于BEA的中间价产品TUXEDO,常采用C/C++语言编写后台服务程序,广泛应用于电信、金融等领域,因项目的需要,我们经常面临调TUXEDO服务的需求!       对于JAVA调TUXEDO...
  • gaga681232
  • gaga681232
  • 2015年02月06日 14:35
  • 2966

obots.txt禁止收录协议的写法

Robots.txt禁止收录协议的写法   很多SEOer做优化的时候不知道robots是什么?更不知道怎么写一个robots文件。接下来石仔教大家怎么写一个正确的robots.txt协议。   ...
  • qq285679784
  • qq285679784
  • 2017年06月27日 14:58
  • 182

loadrunner tuxedo协议测试

环境描述: 服务器操作系统:Linux 2.6.18-194.el5 测试的机系统:winxp sp3 测试软件:loadrunner 9.5tuxedo版本:11G 一. ---------...
  • namesliu
  • namesliu
  • 2011年05月09日 00:15
  • 5088
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Java通过Jolt调用Tuxedo服务-补充说明
举报原因:
原因补充:

(最多只允许输入30个字)