利用Web Service实现.net访问ejb

本文介绍如何使用EJB实现用户登录次数记录功能,并通过.NET生成WebService引用以实现跨平台访问。涵盖WebLogic环境下EJB项目的创建、部署及.NET端的调用流程。

功能:ejb实现了判断用户是第几次登录系统的功能,.net中添加引用来实现对ejb的访问。
要求:安装weblogic815;.net 2003。

一 用weblogic生成ejb程序。
1.新建一空应用程序。Test
2 右键点击Test,新建一ejb项目。My_EJB
3 启动 weblogic Server。


4 在My_EJB中新建一文件夹。hello
5 右击hello文件夹,新建实体bean。VisitBean.ejb
6 更改数据库表。将data-source-name 项更改为cgSampleDataSource,table-name 更改为visit_GS_EJB
7 添加cmp字段:String visitorName 主键, int visitNumber
8 添加ejbcreate方法:在ejbCreate函数中加一行setVisitNumber(1);
9 生成和部署。右击My_EJB生成My_EJB.jar


10 右击hello文件夹,新建会话bean。HelloBean.ejb

11 在HelloBean.ejb 的 ejbCreate 方法中添加代码
     try {
        javax.naming.Context ic = new InitialContext();
        visitHome = (VisitHome)ic.lookup("java:comp/env/ejb/MyVisitBean");
     }
     catch (NamingException ne) {
        throw new EJBException(ne);
     }

12 添加代码
import javax.naming.InitialContext;
import javax.naming.NamingException;

13 在类中添加成员变量
private VisitHome visitHome;

14 添加 ejb-local-ref 标记
home:VisitHome
jndi-name:ejb.VisitLocalHome
local:Visit
name:ejb/MyVisitBean
type:Entity

15 添加组件方法
在HelloBean中添加组件方法String hello(String visitorName)
public String hello(String visitorName)
    {
       Visit theVisit;
       int visitNumber;
    
       try {
          // 在数据库中查找访问者
          theVisit = visitHome.findByPrimaryKey(visitorName);
       }
       catch(FinderException fe) {
          try {
             // 未找到访问者姓名。在数据库中输入访问者姓名
             visitHome.create(visitorName);
             return "您好," + visitorName + "!";
          }
          catch(CreateException ce) {
             throw new EJBException(ce);
          }
       }
       // 未找到访问者。查找以前的访问次数。
       visitNumber = theVisit.getVisitNumber();
       theVisit.setVisitNumber(visitNumber + 1);
       if(visitNumber == 1) {
          return "再次向您问好, " + visitorName + "!";
       }
       else {
          return "您好, " + visitorName + "!这是第 " + theVisit.getVisitNumber() + " 次访问。";
       }
    }
16 生成和部署。右击My_EJB生成My_EJB.jar


二 用.net生成webservice引用。
17 右击Test,新建一web service项目。MyTestProject

18 创建ejb控件。
右击MyTestProject,新建一文件夹。helloControl
右击helloControl,新建一java控件,选择ejb Control。HelloBeanCtrl
单击“浏览应用程序EJB”选择Hello(remote jndi)。

19 生成测试web service
右击HelloBeanCtrl.jcx生成测试JWS文件(无状态)。
右击HelloBeanCtrl.jws生成测试wsdl文件。
运行即可。


20 生成一asp.net文件。

21 添加web引用。为wsdl文件

22 在文件头中加
using WebApplication1.localhost;

23 在按钮事件中加入程序
localhost.HelloBeanCtrl aa = new HelloBeanCtrl();
Response.Write(aa.hello(TextBox1.Text));

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值