我们已将J2EE应用程序迁移到Java EE,并成功将其部署到Windows XP上的Weblogic 10.3.5服务器中。
我们也尝试将同一个应用程序部署到Weblogic 10.3.4,这次是在基于Solaris的服务器上。然后我们得到如下所示的例外情况。
Weblogic正在尝试将部署描述符验证为J2EE,但它实际上是一个Java EE部署描述符。
如何克服这个问题?我还发现对10.3.4和10.3.5的EJB和JSP支持是相同的。
weblogic.j2ee.dd.xml.AnnotationProcessException: [EJB:015013]Bean class ae.co.etisalat.cbcm.cmmn.util.workflow.ejb.impl.WorkFlowEngineManagerEJB doesn't implement interface method: public abstract java.lang.String[] ae.co.etisalat.cbcm.cmmn.util.workflow.ejb.interfaces.WorkFlowEngineManagerLocal.getNextStateTransitions(java.lang.String,java.lang.String,ae.co.etisalat.cbcm.biz.util.persistency.PersistencyContext[],ae.co.etisalat.cbcm.cmmn.util.vo.ClientContext) throws java.lang.Exception.
at weblogic.j2ee.dd.xml.BaseJ2eeAnnotationProcessor.addProcessingError(BaseJ2eeAnnotationProcessor.java:1323)
at weblogic.j2ee.dd.xml.BaseJ2eeAnnotationProcessor.addFatalProcessingError(BaseJ2eeAnnotationProcessor.java:1328)
at weblogic.ejb.container.dd.xml.EjbAnnotationProcessor.getBusinessMethods(EjbAnnotationProcessor.java:1371)
at weblogic.ejb.container.dd.xml.EjbAnnotationProcessor.processAssemblyDescriptor(EjbAnnotationProcessor.java:879)
at weblogic.ejb.container.dd.xml.EjbAnnotationProcessor.processSessionAnnotations(EjbAnnotationProcessor.java:785)
at weblogic.ejb.container.dd.xml.EjbAnnotationProcessor.processAnnotations(EjbAnnotationProcessor.java:315)
at weblogic.ejb.container.dd.xml.EjbAnnotationProcessor.processAnnotations(EjbAnnotationProcessor.java:185)
at weblogic.ejb.container.dd.xml.EjbDescriptorReaderImpl.processStandardAnnotations(EjbDescriptorReaderImpl.java:344)
at weblogic.ejb.container.dd.xml.EjbDescriptorReaderImpl.createReadOnlyDescriptorFromJarFile(EjbDescriptorReaderImpl.java:204)
答案 0 :(得分:1)
我建议确保如果您正在使用@Remote和/或@Local并指定一个接口类,您确保实际的Java类正在实现该接口。如果类没有实现接口的某个方法,这至少会给你一个编译错误。
这看起来更像是Java错误,而不是WebLogic错误或底层操作系统问题。令人惊讶的是,相同的WAR文件适用于WebLogic 10.3.5但不适用于10.3.4。也许它与实际工作的WAR文件不一样?