问题描述
我正在使用 WebSphere Commerce 8 开发应用程序。
我有这门课
package com.whr.commerce.catalog.objects;
import javax.rmi.PortableRemoteObject;
import com.ibm.ivj.ejb.runtime.AbstractSessionAccessBean;
/**
* WHRCatalogJDBCHelperAccessBean
* @generated
*/
public class WHRCatalogJDBCHelperAccessBean extends AbstractSessionAccessBean {
[...]
private com.whr.commerce.catalog.objects.WHRCatalogJDBCHelperHome ejbHome()
throws java.rmi.remoteexception,javax.naming.NamingException {
return (com.whr.commerce.catalog.objects.WHRCatalogJDBCHelperHome) PortableRemoteObject
.narrow(
getHome(),com.whr.commerce.catalog.objects.WHRCatalogJDBCHelperHome.class);
}
/**
* ejbRef
* @generated
*/
private com.whr.commerce.catalog.objects.WHRCatalogJDBCHelper ejbRef()
throws java.rmi.remoteexception {
if (ejbRef == null)
return null;
if (__ejbRef == null)
__ejbRef = (com.whr.commerce.catalog.objects.WHRCatalogJDBCHelper) PortableRemoteObject
.narrow(
ejbRef,com.whr.commerce.catalog.objects.WHRCatalogJDBCHelper.class);
return __ejbRef;
[...]
}
01/03/21 15.44.44:532 CET] 00000167 CommerceSrvr E DataBeanManager activate(DataBean,ViewCommandContext,HttpServletRequest,HttpServletResponse) CMN0420E: Si è verificata la seguente eccezione comando durante l'elaborazione: "java.lang.classCastException: com.ibm.ws.asynchbeans.WorkManagerImpl incompatible with org.omg.CORBA.portable.ObjectImpl". java.lang.classCastException: com.ibm.ws.asynchbeans.WorkManagerImpl incompatible with org.omg.CORBA.portable.ObjectImpl
at com.ibm.rmi.javax.rmi.PortableRemoteObject.getobjectImpl(PortableRemoteObject.java:572)
at com.ibm.rmi.javax.rmi.PortableRemoteObject.narrow(PortableRemoteObject.java:314)
at javax.rmi.PortableRemoteObject.narrow(PortableRemoteObject.java:161)
at com.whr.commerce.catalog.objects.WHRCatalogJDBCHelperAccessBean.ejbHome(WHRCatalogJDBCHelperAccessBean.java:50)
at com.whr.commerce.catalog.objects.WHRCatalogJDBCHelperAccessBean.instantiateEJB(WHRCatalogJDBCHelperAccessBean.java:83)
at com.whr.commerce.catalog.objects.WHRCatalogJDBCHelperAccessBean.findCatgroupIdByField2MemId(WHRCatalogJDBCHelperAccessBean.java:97)
有什么建议吗?我正在使用 RAD IDE。
解决方法
试试这个代码。
String BS_PORT = ""; // port number of the remote EJB container
String IP_ADDRESS = ""; // IP address of the remote EJB container
String REMOTE_LOOKUP_KEY = ""; // the lookup key which is configured via the Administrative console
String JNDI_PROVIDER_URL = "iiop://" + IP_ADDRESS + ":" + BS_PORT;
Properties props = new Properties();
props.put( javax.naming.Context.INITIAL_CONTEXT_FACTORY,"com.ibm.websphere.naming.WsnInitialContextFactory" );
props.put( Context.PROVIDER_URL,JNDI_PROVIDER_URL );
Object lobj;
InitialContext ctx;
try{
ctx = new InitialContext( props );
lobj = ctx.lookup( REMOTE_LOOKUP_KEY );
CustomServiceReferenceInterface remoteServiceRef = (CustomServiceReferenceInterface)javax.rmi.PortableRemoteObject.narrow(lobj,CustomServiceReferenceInterface.class);
return remoteServiceRef;
}
catch( NamingException e ){
// handle the exception
}
,
尝试从另一个站点下载它,第二个 if 条件 如果它的语法看起来像这样,请尝试翻转符号 null == ejbref 因为它有时会给我错误