|
| 在非PB9 JSP Target的jsp网页中调用EAServer组件 |
| 2004年5月6日 作者:tech 商业源码:策划管理,名企内参,咨询顾问 浏览选项:
本文已被浏览 3637 次 |
|
|
|
|
| |
|
如果创建的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组件的方法,如果无法运行,一般应检查你的系统环境变量的设置。  |
|
| |
|
|
|
|
|
|
|
| |