Tomcat 如何调用weblogic发布的Ejb

     很久没研究技术了,由于发布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");
%>

你可能感兴趣的:(技术专栏,weblogic,tomcat,dependencies,import,jbuilder,ejb)