2016-06-24 5 views
1

確かに私はCORBAを使い慣れていて、ORBを使用しています。私は、TAO ORBバージョン1.3を使用しているサードパーティのマシンにインストールされるいくつかのコードを持っています。私のコードは、呼び出したとき:ORB.string_to_objectを呼び出すときのORB.getPresentationManagerのNullPointerException

String myObjectString = "IOR:010000002d00000049444c3a637573732e696174612e6f72672f436f6d706f6e656e74732f4d656469614f75747075743a312e3000000000030000000000000038000000010102000a0000006c6f63616c686f737400204e1b00000014010f00525354a90b6c57ea3c060002000000010000000300000000000000000000000038000000010102000a0000006c6f63616c686f737400214e1b00000014010f00525354a90b6c57ea3c060002000000010000000300000000000000000000000038000000010102000a0000006c6f63616c686f737400224e1b00000014010f00525354a90b6c57ea3c06000200000001000000030000000000000000";

ORB.string_to_object(myObjectString);

私は例外を取得:

java.lang.NullPointerException at com.sun.corba.se.spi.orb.ORB.getPresentationManager(Unknown Source) at com.sun.corba.se.spi.orb.ORB.getStubFactoryFactory(Unknown Source) at com.sun.corba.se.impl.encoding.CDRInputStream_1_0.read_Object(Unknown Source) at com.sun.corba.se.impl.encoding.CDRInputStream_1_0.read_Object(Unknown Source) at com.sun.corba.se.impl.encoding.CDRInputStream.read_Object(Unknown Source) at com.sun.corba.se.impl.resolver.INSURLOperationImpl.getIORFromString(Unknown Source) at com.sun.corba.se.impl.resolver.INSURLOperationImpl.operate(Unknown Source) at com.sun.corba.se.impl.orb.ORBImpl.string_to_object(Unknown Source) at CussClient.enableMediaOutput(CussClient.java:1232) at CussClient.ActivateComponents(CussClient.java:1879) at CussClient.setApplicationState(CussClient.java:268) at CussClient.HandleEvent(CussClient.java:2425) at evtListenerImpl.callback(evtListenerImpl.java:31) at types.evtListenerPOA._invoke(evtListenerPOA.java:49) at com.sun.corba.se.impl.protocol.CorbaServerRequestDispatcherImpl.dispatchToServant(Unknown Source) at com.sun.corba.se.impl.protocol.CorbaServerRequestDispatcherImpl.dispatch(Unknown Source) at com.sun.corba.se.impl.protocol.CorbaMessageMediatorImpl.handleRequestRequest(Unknown Source) at com.sun.corba.se.impl.protocol.CorbaMessageMediatorImpl.handleRequest(Unknown Source) at com.sun.corba.se.impl.protocol.CorbaMessageMediatorImpl.handleInput(Unknown Source) at com.sun.corba.se.impl.protocol.giopmsgheaders.RequestMessage_1_2.callback(Unknown Source) at com.sun.corba.se.impl.protocol.CorbaMessageMediatorImpl.handleRequest(Unknown Source) at com.sun.corba.se.impl.transport.SocketOrChannelConnectionImpl.dispatch(Unknown Source) at com.sun.corba.se.impl.transport.SocketOrChannelConnectionImpl.doWork(Unknown Source) at com.sun.corba.se.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.performWork(Unknown Source) at com.sun.corba.se.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.run(Unknown Source)

この同じコードは、他のORBを実行している他のサードパーティ製のマシン上で動作しますので、私はこれがTAO ORBなどの問題であるかどうかは不明です。なぜこれが起こっているのかを教えてくれるORBマスターがいますか?

+0

tao_catiorユーティリティを使用してIORを取得し、コンテンツをダンプすることが役立ちます。これを行うと、IORにはlocalhostエンドポイントしか含まれていないことがわかります。つまり、サーバーが稼働しているのと同じシステム上でのみ使用できます。 –

+0

TAO –

+0

ではなく、Javaコードから例外がスローされているようです。IORもTAOによって生成されません。実際にセットアップでTAOを使用していますか? –

答えて

1

これは、サードパーティのマシンにインストールされたJREのバージョンに起因していました。

これは、航空業界のCUSS(Common Use Self Service)バージョン1.3の要件で、インストールする必要があるJavaのバージョンを示しています。 CUSSの文書では、Java 1.7.0_21以上が許可されていると述べています。正誤表では、Java 1.7.0_21が特に必要になるように変更されました。

関連する問題