java.lang.NoClassDefFoundError при запуске клиента веб-сервиса - PullRequest
0 голосов
/ 02 сентября 2010

Я получаю следующую ошибку при запуске клиента веб-сервиса, созданного с помощью: eclipse, j2sdk1.4.2_13, axis1.0 и файла WSDL.

java.lang.NoClassDefFoundError: javax/servlet/ServletContext
    at java.lang.Class.getDeclaredMethods0(Native Method)
    at java.lang.Class.privateGetDeclaredMethods(Class.java:1655)
    at java.lang.Class.getDeclaredMethod(Class.java:1262)
    at org.apache.commons.discovery.tools.ClassUtils.findPublicStaticMethod(ClassUtils.java:116)
    at org.apache.axis.configuration.EngineConfigurationFactoryFinder.newFactory(EngineConfigurationFactoryFinder.java:214)
    at org.apache.axis.configuration.EngineConfigurationFactoryFinder.access$300(EngineConfigurationFactoryFinder.java:92)
    at org.apache.axis.configuration.EngineConfigurationFactoryFinder$1.run(EngineConfigurationFactoryFinder.java:179)
    at java.security.AccessController.doPrivileged(Native Method)
    at org.apache.axis.configuration.EngineConfigurationFactoryFinder.newFactory(EngineConfigurationFactoryFinder.java:148)
    at org.apache.axis.configuration.EngineConfigurationFactoryFinder.newFactory(EngineConfigurationFactoryFinder.java:204)
    at org.apache.axis.client.Service.<init>(Service.java:111)
    at com.example.xmlns.SOAPEventSourceBindingStub.<init>(SOAPEventSourceBindingStub.java:27)
    at com.example.xmlns.SOAPEventSourceBindingStub.<init>(SOAPEventSourceBindingStub.java:17)
    at com.example.xmlns.Cliente.main(Cliente.java:16)
Exception in thread "main" 

Клиент делает это:
SOAPEventSourceBindingStub stub = new SOAPEventSourceBindingStub();

public SOAPEventSourceBindingStub() throws org.apache.axis.AxisFault {
     this(null); (this is line 17)
}

public SOAPEventSourceBindingStub(java.net.URL endpointURL, javax.xml.rpc.Service service) throws org.apache.axis.AxisFault {
     this(service);
     super.cachedEndpoint = endpointURL;
}

public SOAPEventSourceBindingStub(javax.xml.rpc.Service service) throws org.apache.axis.AxisFault {
    if (service == null) {
        super.service = new org.apache.axis.client.Service(); (this is line 27)
    } else {
        super.service = service;
    }
        ...     

Ответы [ 2 ]

3 голосов
/ 02 сентября 2010

Вам нужен сервлет Jar в вашем classpath или используйте более свежую версию оси.

ПРИМЕЧАНИЕ. Версии AXIS 1.0 даже на стороне клиента требуется файл JAR сервлета, или вы получите следующее исключение: (в следующей версии 1.1 это должно быть исправлено)

Exception in thread "main" java.lang.NoClassDefFoundError: javax/servlet/ServletContext
     at java.lang.Class.getDeclaredMethods0(Native Method)
     at java.lang.Class.privateGetDeclaredMethods(Class.java:1613)
     at java.lang.Class.getMethod0(Class.java:1732)
     at java.lang.Class.getDeclaredMethod(Class.java:1219)
     ...

Ресурсы:

0 голосов
/ 21 января 2012

Была похожая проблема с настольным приложением. В Netbeans это появилось внезапно, хотя я менял только несвязанные SQL-запросы. Проблемные пакеты все еще были в моем основном пакете, но не могли быть найдены.

Решено переименование проблемных классов в моем основном пакете (и переименование в случае необходимости). Также исправлено именование стандартных отклонений (в некоторых именах классов первые буквы были строчными).

...