ClassCastException b / w WAS 8.5.5中的IBMorb和jacorb jar

时间:2015-03-03 13:54:28

标签: java corba websphere-8 jacorb

我有一个使用jacorb.jar(org.omg.orb.ORB.class)的应用程序。当我在WAS 8.5.5中部署war文件时,我正在使用位于openJdk / jre / lib / ibmorb.jar文件的ibmorb获得classcast异常。任何人都可以帮我使用jacorb.jar并解决错误。

错误:

[3/3/15 5:30:51:863 PST] 00000001 ActivityServi E   WACT0001E: The method pre_init(ORBInitInfo) in class com.ibm.ws.activity.remote.cos.ActivityServiceClientInterceptor received an unexpected exception; 
the exception stack trace follows: java.lang.ClassCastException: org.jacorb.orb.portableInterceptor.ORBInitInfoImpl incompatible with com.ibm.CORBA.iiop.ExtendedORBInitInfo
at com.ibm.ws.activity.remote.cos.ActivityServiceClientInterceptor.pre_init(ActivityServiceClientInterceptor.java:219)
at org.jacorb.orb.ORB.interceptorPreInit(Unknown Source)
at org.jacorb.orb.ORB.internalInit(Unknown Source)
at org.jacorb.orb.ORB.set_parameters(Unknown Source)
at org.omg.CORBA.ORB.init(ORB.java:371)

Caused by: java.lang.ClassCastException: org.jacorb.orb.ORB incompatible with com.ibm.CORBA.iiop.ORB
at com.ibm.ws.orb.GlobalORBFactory.init(GlobalORBFactory.java:92)
at com.ibm.ejs.oa.EJSORBImpl.initializeORB(EJSORBImpl.java:179)
at com.ibm.ejs.oa.EJSClientORBImpl.<init>(EJSClientORBImpl.java:83)
at com.ibm.ejs.oa.EJSClientORBImpl.<init>(EJSClientORBImpl.java:59)
at com.ibm.ejs.oa.EJSORB.init(EJSORB.java:102)

1 个答案:

答案 0 :(得分:0)

IBM不支持第三方ORB,因为它提供了自己的ORB。您可以在IBM JAVA jre文件夹中找到具有默认属性的orb.properties。如果要添加与ORB相关的任何需要通知JRE的内容,我们可以在此属性文件夹中添加一个条目。

我已从代码中完全删除了JacORB并使用了IBM ORB。如果使用JacORB编译代码并在IBM websphere中使用相同的代码,并且包结构和方法签名不会更改,则它们不会有任何问题。我几乎已经测试了这个。

有关创建corba名称空间并在代码中使用它的更多信息,请参阅此主题。如果您遵循这些,您将不需要在IBM websphere中添加jacorb jar。

Corba NameService configuration in Websphere 8.5.5