操作系统  办公  实用知识  设计  开发  WEB开发  移动开发  数据库  软件工程  网管  安全  管理  信息化  答疑  渠道 

在非PB9 JSP Target的jsp网页中调用EAServer组件

2006-9-30 网友评论 0 条 点击进入论坛

如果创建的jsp网页不是pb9的4GL网页,调用EAServer组件就比较麻烦了,但绝对可以实现。
方法如下:

1、正确创建组件,并生成Java stub!

2、创建一个jsp文件,注意,该文件必须要导入如下java包:

<@ page import=“org.omg.CORBA.ORB“ %>

<@ page import=“org.omg.CosNaming.NamingContext“ %>

<@ page import=“org.omg.CosNaming.NamingContextHelper“ %>

<@ page import=“org.omg.CosNaming.NameComponent“ %>

<@ page import=“org.omg.CORBA.ORB“ %>

<@ page import=“you_pkg.*“>

<!--上面的那个import,实际是导入你的组件包下的所有组件,所以you_pkg应该是你的组件所在的包名称-->

<@ page import=“CTS.PBUserException“%>

<%

String s1;

String s2;

n_you_com nvo; //你的组件类型的变量

java.util.Properties props = new java.util.Properties();

props.put(“org.omg.CORBA.ORBClass“, “com.sybase.CORBA.ORB“);

props.put(“com.sybase.CORBA.NameServiceURL“, “iiop://localhost:9000“);

ORB orb = ORB.init((String[]) null, props);

try

{

NamingContext context = NamingContextHelper.narrow(orb.resolve_initial_references(“NameService“));

NameComponent[] name = { new NameComponent(“you_pkg/n_you_com“)};

SessionManager.Factory factory = SessionManager.FactoryHelper.narrow(context.resolve(name));

nvo = n_youcomHelper.narrow(factory.create(“jagadmin“, ““));

//登录EAServer的用户名和密码

}

catch (org.omg.CORBA.ORBPackage.InvalidName aException){}

catch(org.omg.CosNaming.NamingContextPackage.NotFound aException){}

catch(org.omg.CosNaming.NamingContextPackage.CannotProceed aExceptiont){}

catch(org.omg.ConNaming.NamingContextPackage.InvalidName aException){}

try

{

int rt = 0; //根据你的需要定义组件函数的返回值变量

rt = nvo.of_you_function(s1, s2); //你的组件函数

//有一点需要注意,如果你的组件函数参数中有Integer类型的变量,在这里调用的时候

//必须要用short强制类型转换,或则就定义一个short类型的变量传递参数

}

catch (CTS.PBUserException e){}

%>

====================================================================

以上是普通jsp网页调用EAServer组件的方法,如果无法运行,一般应检查你的系统环境变量的设置。

已有 0 位对此文章感兴趣的网友发布了看法    
我来评两句 登录邮箱: 密码:
  匿名发表
今日推荐
技术文库(共有 46430 篇文章)
操作系统
办公软件
实用知识
网络管理
软件开发
WEB开发
软件工程
数据库
设计在线
信息安全
行业信息化
管理信息化
重点推荐
电子杂志订阅
点击电子杂志名称查看样刊
输入E-mail地址即可订阅
E-mail