您的位置:首页 > 运维架构 > Tomcat

Tomcat 如何调用weblogic发布的Ejb

2005-08-03 14:05 363 查看
     很久没研究技术了,由于发布webservice时需要调用发布在另外一台weblogic应用服务器上的ejb,故此花了点时间研究,做试验。
开发环境:
tomcat 4.0.1
weblogic8.0.1
开发工具:
jbuilder10x
具体步骤:
1、首先创建自己的ejb,需要实现remote接口,然后发布到weblogic上
2、创建ejbclient.jar
2.1、在jbuilder中选择new,然后在弹出界面object gallery左边菜单选择build,然后在右边选择archive builder
2.2、选择archive type  ,缺省为basic ,需要修改为j2ee application client
2.3、选择create descriptor(s)
2.4、然后点击add  files将所需要的文件包含进去(对于ejb只需要home,和remote接口),并勾中include class dependencies
2.5、下一步,进入Determin what to do with library dependencies
2.6、对客户端需要的相关lib ,选择include required classes and known resources
2.7、finish ,完成jar的生成。
3、编写客户端调用程序Test.java 示例如下:
Test.java
package com.test;
import java.util.Properties;
import javax.naming.Context;
import javax.naming.InitialContext;
import wonders.sb.logic.jgsybx.hdzj.JGSYDwjfhdSessionFacadeHome;
import wonders.sb.logic.jgsybx.hdzj.JGSYDwjfhdSessionFacade;
import wonders.sb.commons.util.MsgObject;
import wonders.sb.dao.single.CorpChkPayJGVO;
public class Test {
public static CorpChkPayJGVO getVO() {
    JGSYDwjfhdSessionFacadeHome home = null;
      JGSYDwjfhdSessionFacade remote = null;
    try {

    Properties h = new Properties();
    h.put(Context.INITIAL_CONTEXT_FACTORY, "weblogic.jndi.WLInitialContextFactory");
    h.put(Context.PROVIDER_URL,"t3://10.10.10.11:7111");
    InitialContext ctx = new InitialContext(h);

      home= (JGSYDwjfhdSessionFacadeHome)ctx.lookup("JGSYDwjfhdSessionFacade");
      remote = home.create();
      MsgObject object=remote.calculate("1001023115","200507");
      CorpChkPayJGVO vo=(CorpChkPayJGVO)object.getResult("CorpChkPayJGVO");
      System.out.println(vo.getCid());
      System.out.println(vo.getDjlx_id());
      System.out.println(vo.getDwjn());
      System.out.println(vo.getGrjn());
      System.out.println(vo.getHzrz_id());
      System.out.println(vo.getMemo());
      return vo;
  }
  catch (Exception ex) {
   ex.printStackTrace();
  }
  finally
  {
          try {
            remote.remove();
          }
          catch (Exception ex) {
            ex.printStackTrace();
          }
  }
  return null;
  }
}
此程序需要webligic安装目录下的bea/weblogic81/server/lib/wlclient.jar包,发布的时候将其包含进tomcat的classpath
4、最后编写一个jsp测试
<%@ page contentType="text/html; charset=GBK"
         import="com.test.*"
%>
<%
   CorpChkPayJGVO vo = Test.getVO();
   out.println(vo.getCid());
   out.println(vo.getDjlx_id());
   out.println(vo.getDwjn());
   out.println(vo.getGrjn());
   out.println(vo.getHzrz_id());
   out.println("ssss");
%>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息