java有any类型吗_Java开发网 - 一个关于CORBA中any类型的问题
Posted by:an350901450
Posted on:2008-12-30 14:44
请教一个问题
我的IDL文件:
module anyM{
interface anyI{
any print();
};
};
module personS
{
struct person{
wstring name;
wstring sex;
};
};
我用的是java 与corba 编译
服务器实现端:
public class AnyIImpl extends anyIPOA {
public Any print() {
Any a = org.omg.CORBA.ORB.init().create_any();
person ps =new person();
ps.name="张三";
ps.sex="男";
personHelper.insert(a,ps);
return a;
}
}
服务端代码:
public class Server
{
public static void main( String[] args )
{
org.omg.CORBA.ORB orb = org.omg.CORBA.ORB.init(args, null);
try
{
org.omg.PortableServer.POA poa =
org.omg.PortableServer.POAHelper.narrow(orb.resolve_initial_references("RootPOA"));
poa.the_POAManager().activate();
org.omg.CORBA.Object o = poa.servant_to_reference(new AnyIImpl());
if( args.length == 1 )
{
// write the object reference to args[0]
PrintWriter ps = new PrintWriter(new FileOutputStream(new File( args[0] )));
ps.println( orb.object_to_string( o ) );
ps.close();
}
else
{
// register server with naming context
/*NamingContextExt nc = NamingContextExtHelper.narrow(orb.resolve_initial_references("NameService"));*/
NamingContextExt nc = NamingContextExtHelper.narrow(orb
.string_to_object("corbaloc::192.168.0.151:5055/NameService"));
nc.bind( nc.to_name("AnyServer.service"), o);
}
}
catch ( Exception e )
{
e.printStackTrace();
}
orb.run();
}
}
我的客户端:
public class Client
{
public static void main( String[] args )
{
try
{
org.omg.CORBA.ORB orb = org.omg.CORBA.ORB.init(args,null);
// get hold of the naming service
/*NamingContextExt nc =
NamingContextExtHelper.narrow(orb.resolve_initial_references("NameService"));*/
NamingContextExt nc = NamingContextExtHelper.narrow(orb
.string_to_object("corbaloc::192.168.0.151:5055/NameService"));
System.out.println("nc: "+nc);
anyI s =
anyIHelper.narrow(nc.resolve(nc.to_name("AnyServer.service")));
System.out.println(nc.resolve(nc.to_name("AnyServer.service")));
// create a new any
Any a = org.omg.CORBA.ORB.init().create_any();
System.out.print("Passing a Wstring...");
person pp=personHelper.extract(s.print());
System.out.println("name: "+pp.name);
System.out.println("sex: "+pp.sex);
// System.out.println(s.print().extract_wstring());
//System.out.println("Any.kind: " + a.type().kind().value() );
orb.shutdown(true);
}
catch ( Exception e)
{
e.printStackTrace();
}
}
}
如果我在我的配置文件中用
# are handled properly and cause no harm!
#ORBInitRef.NameService=corbaloc::160.45.110.41:38693/StandardNS/NameServer-POA/_root
#ORBInitRef.NameService=file:/c:/NS_Ref
ORBInitRef.NameService=file:/e:/workspace/any/NS_Ref
。。。。。。。。
上面这种方式 把IOR 写到文件NS_Ref 里面的,这种命名方式不会出错能正常运行
但当我使用
#ORBInitRef.NameService=corbaloc::160.45.110.41:38693/StandardNS/NameServer-POA/_root
#ORBInitRef.NameService=file:/c:/NS_Ref
ORBInitRef.NameService=corbaloc::192.168.0.151:5055/NameService
。。。。。。。
这中IP绑订 命名服务,在启动客户端的时候就报错了,报如下错误
Passing a Wstring...org.omg.CORBA.UNKNOWN: ----------BEGIN server-side stack trace----------
org.omg.CORBA.UNKNOWN: vmcid: SUN minor code: 202 completed: Maybe
at com.sun.corba.se.impl.logging.ORBUtilSystemException.runtimeexception(ORBUtilSystemException.java:8365)
at com.sun.corba.se.impl.protocol.CorbaMessageMediatorImpl.convertThrowableToSystemException(CorbaMessageMediatorImpl.java:1918)
at com.sun.corba.se.impl.protocol.CorbaMessageMediatorImpl.handleThrowableDuringServerDispatch(CorbaMessageMediatorImpl.java:1868)
at com.sun.corba.se.impl.protocol.CorbaMessageMediatorImpl.handleThrowableDuringServerDispatch(CorbaMessageMediatorImpl.java:1821)
at com.sun.corba.se.impl.protocol.CorbaServerRequestDispatcherImpl.dispatch(CorbaServerRequestDispatcherImpl.java:258)
at com.sun.corba.se.impl.protocol.CorbaMessageMediatorImpl.handleRequestRequest(CorbaMessageMediatorImpl.java:1680)
at com.sun.corba.se.impl.protocol.CorbaMessageMediatorImpl.handleRequest(CorbaMessageMediatorImpl.java:1540)
at com.sun.corba.se.impl.protocol.CorbaMessageMediatorImpl.handleInput(CorbaMessageMediatorImpl.java:922)
at com.sun.corba.se.impl.protocol.giopmsgheaders.RequestMessage_1_2.callback(RequestMessage_1_2.java:181)
at com.sun.corba.se.impl.protocol.CorbaMessageMediatorImpl.handleRequest(CorbaMessageMediatorImpl.java:694)
at com.sun.corba.se.impl.transport.SocketOrChannelConnectionImpl.dispatch(SocketOrChannelConnectionImpl.java:451)
at com.sun.corba.se.impl.transport.SocketOrChannelConnectionImpl.doWork(SocketOrChannelConnectionImpl.java:1187)
at com.sun.corba.se.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.run(ThreadPoolImpl.java:417)
Caused by: java.lang.NullPointerException
at com.sun.corba.se.impl.corba.AnyImpl.write_value(AnyImpl.java:579)
at com.sun.corba.se.impl.encoding.CDROutputStream_1_0.write_any(CDROutputStream_1_0.java:585)
at com.sun.corba.se.impl.encoding.CDROutputStream.write_any(CDROutputStream.java:202)
at anyM.anyIPOA._invoke(anyIPOA.java:43)
at com.sun.corba.se.impl.protocol.CorbaServerRequestDispatcherImpl.dispatchToServant(CorbaServerRequestDispatcherImpl.java:637)
at com.sun.corba.se.impl.protocol.CorbaServerRequestDispatcherImpl.dispatch(CorbaServerRequestDispatcherImpl.java:189)
... 8 more
----------END server-side stack trace---------- vmcid: SUN minor code: 202 completed: Maybe
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:494)
at com.sun.corba.se.impl.protocol.giopmsgheaders.MessageBase.getSystemException(MessageBase.java:902)
at com.sun.corba.se.impl.protocol.giopmsgheaders.ReplyMessage_1_2.getSystemException(ReplyMessage_1_2.java:99)
at com.sun.corba.se.impl.protocol.CorbaMessageMediatorImpl.getSystemExceptionReply(CorbaMessageMediatorImpl.java:572)
at com.sun.corba.se.impl.protocol.CorbaClientRequestDispatcherImpl.processResponse(CorbaClientRequestDispatcherImpl.java:430)
at com.sun.corba.se.impl.protocol.CorbaClientRequestDispatcherImpl.marshalingComplete(CorbaClientRequestDispatcherImpl.java:326)
at com.sun.corba.se.impl.protocol.CorbaClientDelegateImpl.invoke(CorbaClientDelegateImpl.java:129)
at org.omg.CORBA.portable.ObjectImpl._invoke(ObjectImpl.java:457)
at anyM._anyIStub.print(_anyIStub.java:32)
at anyM.Client.main(Client.java:44)
谁能帮我解决下,谢谢了
java有any类型吗_Java开发网 - 一个关于CORBA中any类型的问题相关推荐
- java 实现文件下载保存框_Java开发网 - 任何类型的文件下载时都会弹出文件保存框的实现(原创)...
于 2002-12-12 11:09 :):):)任何类型的文件下载时都会弹出文件保存框的实现:(:(:( 简介: 从事WEB程序设计的朋友一定都遇到过这种情况吧,对于一些操作系统可以识别的文件类型如 ...
- java 获取网络带宽_Java开发网 - 一个测网络延迟和带宽的程序,发10M的数据有问题...
我的想法是客户端发10M的string给服务器,服务器把收到的数据返回给客户端, 客户端记下发送的时刻和收完数据的时刻,两者相减再除2就是传输用的时间. 发1M没有问题,现在要发10M,就循环10次, ...
- java servlet 获取mac地址_Java开发网 - 请教大家几个关于servlet取ip和mac地址的问题~~!...
//Java获得CPU序列号和网卡Mac地址 /* 利用Runtime call操作系统的命令,具体的命令取决于不同的操作系统,注意不要调用Runtime.getRuntime().exec(Stri ...
- java反编译的语句_Java开发网 - 请教,java反编译的问题
Posted by:tool Posted on:2004-12-31 06:39 有synthetic标记的field和method是class内部使用的,正常的源代码里不会出现synthetic ...
- java添加关闭窗口事件_Java开发网 - 如何给JInternalFrame类的窗口添加关闭事件?...
Posted by:shsen Posted on:2003-05-16 16:26 不太清楚怎么写啊,看看我的代码: public class DealInternalFrame extends J ...
- java at发短信_Java开发网 - 通过at指令怎样发送短信????
Posted by:tiantao78 Posted on:2004-05-26 14:04 九十年代初,AT命令仅被用于modem操作.由于没有控制移动电话文本消息的先例,因此开发了一种叫SMS B ...
- python mysql驱动写入datetime类型的数据_解决python写入mysql中datetime类型遇到的问题...
刚开始使用python,还不太熟练,遇到一个datetime数据类型的问题: 在mysql数据库中,有一个datetime类型的字段用于存储记录的日期时间值.python程序中有对应的一个dateti ...
- java工作流 数据库设计_Java开发网
于 2007-12-06 16:10 基于JGRAHP的工作流模型设计器 JWFD v0.9 comsci@163.com QQ: 784092877 群:7428804 简介 JDK1.4以上 运行 ...
- java操作mysql临时表_Java开发网 - 系统临时表使用问题
Posted by:hzxl Posted on:2003-08-31 18:14 系统临时表的使用: 在一些程序中,我们需要一些仅仅在程序中使用的临时表,但是程序结束后就不再使用,数据库系统对这些应 ...
最新文章
- UI培训分享:学UI设计需要知道哪些事情?
- shell中复制粘贴随笔
- 极简数据分析实操指南(上)
- 模型摆完pose怎么对称_糖分过浓警告!108个情侣写真pose,太好拍了!
- 10个常用的Python图像处理工具,非常全了
- xgboost python windows编译问题
- 连接堡垒机出现java环境_Java 8:长期支持的堡垒
- 斌伯的博客园Blog开张大吉
- 坑哭了!老牌教育机构也崩盘,疑失联跑路,学员却还得继续还贷
- java : JSR107缓存规范
- mssql 无法启动调试器 数据为空_Windows无法启动:如何利用PE拯救桌面重要数据?...
- Microsoft Sql Server 2008 R2 Express 下载地址推荐
- typroa设置字体的颜色
- Ease睡眠APP竞品分析报告
- 图像处理ORL--训练集及测试集建立--Matlab实现
- 来了来了,2020 首场 Meetup ,可!
- 计算机桌面右键新建展不开,Win10右键新建不见了怎么办?Win10电脑桌面右键新建没有了解决方法...
- MASM的Hello World
- 基于FPGA的嵌入式图像处理笔记——图像增强的特例(图像反转)
- 拼多多关键词的排名是怎么查?拼多多排名规则
热门文章
- 速度优化_网站打开速度慢?如何优化?
- C++学习笔记:(一)面向对象 类与对象
- POJ 1185 炮兵阵地
- Leecode240. 搜索二维矩阵 II——Leecode每日一题系列
- 【简便解法】1090 危险品装箱 (25分)_33行代码AC
- Dev C++ 无法调试问题的解决——小白也能看懂!
- 简便解法:1004 成绩排名 (20分)
- 百度api语音识别一直“无内容”_PHP开发语音识别功能
- python文件无法关闭_Python脚本无法正常终止
- Invalid bound statement (not found)