WebSphere ClassNotFoundException عند استدعاء WebService بعد بدء التشغيل (ولكن ليس لاحقًا)

StackOverflow https://stackoverflow.com/questions/4309736

سؤال

تحديث: ال ClassNotFoundException يحدث فقط إذا حاولت استخدام خدمة الويب فور بدء التطبيق. إذا انتظرت (لبعض الحدث/المدة غير المعروفة) ، سيعمل التطبيق. أود أن أعرف ما الذي أحتاجه للانتظار.


مشكلة: فشل طلبي لأن فئة موجودة لم يتم العثور عليها من قِبل charloader.

مزيد من المعلومات:

الفصل الذي لا يمكن العثور عليه هو com.sun.xml.stream.ZephyrParserFactory.

في أذني لدي sjsxr.jar. تحتوي هذه الجرة على الفصل com.sun.xml.stream.ZephyrParserFactory

تحتوي الأذن أيضًا على MyApp.jar, ، والذي يحتوي على نقاط دخول EJB للتطبيق. ال MyApp.jar يوضح المراجع جميع الجرار المطلوبة ، بما في ذلك sjsxr.jar

Manifest-Version: 1.0
Ant-Version: Apache Ant 1.8.1
Created-By: 1.5.0_18 (Sun Microsystems Inc.)
Built-By: GMM Development Team
Class-Path: aopalliance-1.0.jar commons-codec-1.4.jar commons-collecti
 ons-3.1.jar commons-lang-2.1.jar commons-logging-1.1.1.jar ehcache-co
 re-2.1.0.jar ehcache-spring-annotations-1.1.2.jar joda-time-1.6.1.jar
  log4j-1.2.16.jar org.springframework.context.support-3.0.4.RELEASE.j
 ar sjsxr.jar slf4j-api-1.6.1.jar slf4j-log4j12-1.6.1.jar spring-aop
 -3.0.4.RELEASE.jar spring-asm-3.0.4.RELEASE.jar spring-beans-3.0.4.RE
 LEASE.jar spring-context-3.0.4.RELEASE.jar spring-core-3.0.4.RELEASE.
 jar spring-expression-3.0.4.RELEASE.jar spring-jdbc-3.0.4.RELEASE.jar
  spring-tx-3.0.4.RELEASE.jar swiftVal.jar velocity-1.5.jar vm-startup
 .jar xbean.jar

يحتوي التطبيق على رمز عميل خدمات الويب الذي تم إنشاؤه بواسطة WebSphere's wsimport أداة. عندما يحاول التطبيق استدعاء هذا الرمز ، يتم طرح الاستثناء التالي:

EJB threw an unexpected (non-declared) exception during invocation of method 
  "messageIn" on bean "BeanId(MyApp#ejb.jar#NodeEJB, null)". 
Exception data: javax.xml.stream.FactoryConfigurationError: Provider
  com.sun.xml.stream.ZephyrParserFactory not found
    at javax.xml.stream.XMLInputFactory.newInstance(Unknown Source)
    at org.apache.axiom.om.util.StAXUtils$7.run(StAXUtils.java:327)
    at java.security.AccessController.doPrivileged(AccessController.java:202)
    at org.apache.axiom.om.util.StAXUtils.getXMLInputFactory_perClassLoader(StAXUtils.java:323)
    at org.apache.axiom.om.util.StAXUtils.getXMLInputFactory(StAXUtils.java:78)
    at org.apache.axiom.om.util.StAXUtils.createXMLStreamReader(StAXUtils.java:133)
    at org.apache.axis2.util.XMLUtils.toOM(XMLUtils.java:596)
    at org.apache.axis2.util.XMLUtils.toOM(XMLUtils.java:581)
    at org.apache.axis2.deployment.DescriptionBuilder.buildOM(DescriptionBuilder.java:97)
    at org.apache.axis2.deployment.AxisConfigBuilder.populateConfig(AxisConfigBuilder.java:90)
    at org.apache.axis2.deployment.DeploymentEngine.populateAxisConfiguration(DeploymentEngine.java:641)
    at com.ibm.ws.websvcs.deployment.WASAxis2ConfigurationBuilder.loadAxisCfg(WASAxis2ConfigurationBuilder.java:492)
    at com.ibm.ws.websvcs.deployment.WASAxis2ConfigurationBuilder.loadAxisClientConfiguration(WASAxis2ConfigurationBuilder.java:191)
    at com.ibm.ws.websvcs.client.WSClientConfigurationFactory.getConfigContext(WSClientConfigurationFactory.java:271)
    at com.ibm.ws.websvcs.client.WSClientConfigurationFactory.getClientConfigurationContext(WSClientConfigurationFactory.java:236)
    at org.apache.axis2.jaxws.description.impl.DescriptionFactoryImpl.createServiceDescription(DescriptionFactoryImpl.java:92)
    at org.apache.axis2.jaxws.description.impl.DescriptionFactoryImpl.createServiceDescription(DescriptionFactoryImpl.java:79)
    at org.apache.axis2.jaxws.description.DescriptionFactory.createServiceDescription(DescriptionFactory.java:76)
    at org.apache.axis2.jaxws.spi.ServiceDelegate.<init>(ServiceDelegate.java:212)
    at org.apache.axis2.jaxws.spi.Provider.createServiceDelegate(Provider.java:59)
    at javax.xml.ws.Service.<init>(Service.java:67)
    at my.generated.Web_Service.<init>(Web_Service.java:44)
...
Caused by: java.lang.ClassNotFoundException: com.sun.xml.stream.ZephyrParserFactory
    at java.lang.Class.forNameImpl(Native Method)
    at java.lang.Class.forName(Class.java:136)
    at javax.xml.stream.FactoryFinder.newInstance(Unknown Source)
    at javax.xml.stream.FactoryFinder.find(Unknown Source)
    at javax.xml.stream.FactoryFinder.find(Unknown Source)
    ... 101 more

لقد أكدت نصف دزينة من أن الفصل والجرة والبيان صحيحان قبل النشر وبعده.

لقد حاولت أيضًا إعادة تسمية sjsxr.jar لتجنب أي كسوف محتملة ولكن المشكلة لا تختفي.

أنا أستخدم WebSphere 7.0.0.11 ND

هل أستطيع مساعدتك؟

هل كانت مفيدة؟

المحلول

لقد مر وقت طويل منذ أن استخدمت Java ، ولمس WebSphere فقط لفترة وجيزة ، ولكن ربما هذه سوف يساعد؟ إذا كنت تواجه مشاكل في تحديد موقع ملف الجرة باستخدام البيان ، فحاول تغليفه في WEB-INF/lib مجلد في الجرة. يجب العثور عليه ضمنيًا دون الحاجة إلى الرجوع إليه في هذا البيان ، على افتراض أنني قرأت المعلومات الموجودة على الصفحة المرتبطة بشكل صحيح.

قد ترغب أيضًا في إلقاء نظرة على رابط WebSphere هذا, ، حوالي منتصف الطريق أسفل الصفحة تحت عنوان "المرجع الفصول داخل ملف الأذن".

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top