Как вызвать веб-сервисы метро в weblogic 10.3.5? - PullRequest
0 голосов
/ 06 декабря 2011

У меня есть два веб-приложения (в том числе файлы ear), развернутые на сервере weblogic.Одним из них является приложение веб-службы, а другим - клиент веб-службы.

METRO используется для веб-сервисов.Приложение веб-службы работает правильно.

Когда я пытаюсь развернуть клиентское приложение веб-службы, я получаю следующую ошибку.

    <Dec 14, 2011 9:51:25 AM GMT+05:30> <Error> <WLSS.Setup> <BEA-331210> <Skip SIP related logic, because error occurs when parsing sip related annotatio
ns of "DIMeX2"
com.bea.wcp.sip.engine.server.setup.SipAnnotationParsingException:
    at com.bea.wcp.sip.engine.server.setup.SipAnnotationData.<init>(SipAnnotationData.java:146)
    at com.bea.wcp.sip.util.DeploymentUtil.getOrCreateAnnotationData(DeploymentUtil.java:70)
    at com.bea.wcp.sip.util.DeploymentUtil.isSipModule(DeploymentUtil.java:96)
    at com.bea.wcp.sip.engine.server.SipServerTailModule$1.visit(SipServerTailModule.java:127)
    at com.bea.wcp.sip.engine.server.SipServerTailModule.visitAllContexts(SipServerTailModule.java:112)
    Truncated. see log file for complete stacktrace
Caused By: java.lang.IncompatibleClassChangeError: class com.sun.codemodel.writer.FilterCodeWriter has interface com.sun.codemodel.CodeWriter as super
 class
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClassCond(Unknown Source)
    at java.lang.ClassLoader.defineClass(Unknown Source)
    at java.security.SecureClassLoader.defineClass(Unknown Source)
    at weblogic.utils.classloaders.GenericClassLoader.defineClass(GenericClassLoader.java:343)
    Truncated. see log file for complete stacktrace
>
log4j:WARN No appenders could be found for logger (org.springframework.web.context.ContextLoader).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
<Dec 14, 2011 9:51:26 AM GMT+05:30> <Error> <HTTP> <BEA-101216> <Servlet: "dimex" failed to preload on startup in Web application: "/DIMeX2".
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.web.servlet.mvc.annotation.DefaultAnnotati
onHandlerMapping#0': Initialization of bean failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean w
ith name 'auditLogController': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException
: Could not autowire field: com.dimex.services.UserService com.dimex.controllers.AuditLogController.userService; nested exception is org.springframewo
rk.beans.factory.BeanCreationException: Error creating bean with name 'userService': Injection of resource dependencies failed; nested exception is or
g.springframework.beans.BeanInstantiationException: Could not instantiate bean class [com.dimex.services.client.UserServiceWS_Service]: Constructor th
rew exception; nested exception is java.util.ServiceConfigurationError: javax.xml.ws.spi.Provider: Provider com.sun.xml.ws.spi.ProviderImpl could not
be instantiated: java.lang.ExceptionInInitializerError
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:527)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:291)
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:288)
    Truncated. see log file for complete stacktrace
Caused By: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'auditLogController': Injection of autowired depende
ncies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: com.dimex.services.UserService co
m.dimex.controllers.AuditLogController.userService; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean w
ith name 'userService': Injection of resource dependencies failed; nested exception is org.springframework.beans.BeanInstantiationException: Could not
 instantiate bean class [com.dimex.services.client.UserServiceWS_Service]: Constructor threw exception; nested exception is java.util.ServiceConfigura
tionError: javax.xml.ws.spi.Provider: Provider com.sun.xml.ws.spi.ProviderImpl could not be instantiated: java.lang.ExceptionInInitializerError
    at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProc
essor.java:285)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1074)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:517)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:291)
    Truncated. see log file for complete stacktrace
Caused By: org.springframework.beans.factory.BeanCreationException: Could not autowire field: com.dimex.services.UserService com.dimex.controllers.Aud
itLogController.userService; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'userService':
 Injection of resource dependencies failed; nested exception is org.springframework.beans.BeanInstantiationException: Could not instantiate bean class
 [com.dimex.services.client.UserServiceWS_Service]: Constructor threw exception; nested exception is java.util.ServiceConfigurationError: javax.xml.ws
.spi.Provider: Provider com.sun.xml.ws.spi.ProviderImpl could not be instantiated: java.lang.ExceptionInInitializerError
    at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostP
rocessor.java:502)
    at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:84)
    at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProc
essor.java:282)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1074)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:517)
    Truncated. see log file for complete stacktrace
Caused By: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'userService': Injection of resource dependencies fa
iled; nested exception is org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [com.dimex.services.client.UserServic
eWS_Service]: Constructor threw exception; nested exception is java.util.ServiceConfigurationError: javax.xml.ws.spi.Provider: Provider com.sun.xml.ws
.spi.ProviderImpl could not be instantiated: java.lang.ExceptionInInitializerError
    at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.postProcessPropertyValues(CommonAnnotationBeanPostProcessor.java:3
00)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1074)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:517)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:291)
    Truncated. see log file for complete stacktrace
Caused By: org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [com.dimex.services.client.UserServiceWS_Service]: C
onstructor threw exception; nested exception is java.util.ServiceConfigurationError: javax.xml.ws.spi.Provider: Provider com.sun.xml.ws.spi.ProviderIm
pl could not be instantiated: java.lang.ExceptionInInitializerError
    at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:141)
    at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:104)
    at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor$WebServiceRefElement.getResourceToInject(CommonAnnotationBeanPostP
rocessor.java:627)
    at org.springframework.beans.factory.annotation.InjectionMetadata$InjectedElement.inject(InjectionMetadata.java:147)
    at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:84)
    Truncated. see log file for complete stacktrace
Caused By: java.util.ServiceConfigurationError: javax.xml.ws.spi.Provider: Provider com.sun.xml.ws.spi.ProviderImpl could not be instantiated: java.la
ng.ExceptionInInitializerError
    at java.util.ServiceLoader.fail(Unknown Source)
    at java.util.ServiceLoader.access$100(Unknown Source)
    at java.util.ServiceLoader$LazyIterator.next(Unknown Source)
    at java.util.ServiceLoader$1.next(Unknown Source)
    at javax.xml.ws.spi.Provider.getProviderUsingServiceLoader(Provider.java:146)
    Truncated. see log file for complete stacktrace
Caused By: java.lang.ExceptionInInitializerError
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Unknown Source)
    at java.util.ServiceLoader$LazyIterator.next(Unknown Source)
    at java.util.ServiceLoader$1.next(Unknown Source)
    at javax.xml.ws.spi.Provider.getProviderUsingServiceLoader(Provider.java:146)
    Truncated. see log file for complete stacktrace
Caused By: javax.xml.ws.WebServiceException: Error creating JAXBContext for W3CEndpointReference.
    at com.sun.xml.ws.spi.ProviderImpl$2.run(ProviderImpl.java:261)
    at com.sun.xml.ws.spi.ProviderImpl$2.run(ProviderImpl.java:257)
    at java.security.AccessController.doPrivileged(Native Method)
    at com.sun.xml.ws.spi.ProviderImpl.getEPRJaxbContext(ProviderImpl.java:256)
    at com.sun.xml.ws.spi.ProviderImpl.<clinit>(ProviderImpl.java:90)
    Truncated. see log file for complete stacktrace
Caused By: com.sun.xml.bind.v2.runtime.IllegalAnnotationsException: 2 counts of IllegalAnnotationExceptions
Two classes have the same XML type name "address". Use @XmlType.name and @XmlType.namespace to assign different names to them.
    this problem is related to the following location:
        at com.sun.xml.ws.developer.MemberSubmissionEndpointReference$Address
        at public com.sun.xml.ws.developer.MemberSubmissionEndpointReference$Address com.sun.xml.ws.developer.MemberSubmissionEndpointReferenc
e.addr
        at com.sun.xml.ws.developer.MemberSubmissionEndpointReference
    this problem is related to the following location:
        at javax.xml.ws.wsaddressing.W3CEndpointReference$Address
        at private javax.xml.ws.wsaddressing.W3CEndpointReference$Address javax.xml.ws.wsaddressing.W3CEndpointReference.address
        at javax.xml.ws.wsaddressing.W3CEndpointReference
Two classes have the same XML type name "elements". Use @XmlType.name and @XmlType.namespace to assign different names to them.
    this problem is related to the following location:
        at com.sun.xml.ws.developer.MemberSubmissionEndpointReference$Elements
        at public com.sun.xml.ws.developer.MemberSubmissionEndpointReference$Elements com.sun.xml.ws.developer.MemberSubmissionEndpointReferen
ce.referenceProperties
        at com.sun.xml.ws.developer.MemberSubmissionEndpointReference
    this problem is related to the following location:
        at javax.xml.ws.wsaddressing.W3CEndpointReference$Elements
        at private javax.xml.ws.wsaddressing.W3CEndpointReference$Elements javax.xml.ws.wsaddressing.W3CEndpointReference.referenceParameters
        at javax.xml.ws.wsaddressing.W3CEndpointReference

    at com.sun.xml.bind.v2.runtime.IllegalAnnotationsException$Builder.check(IllegalAnnotationsException.java:102)
    at com.sun.xml.bind.v2.runtime.JAXBContextImpl.getTypeInfoSet(JAXBContextImpl.java:472)
    at com.sun.xml.bind.v2.runtime.JAXBContextImpl.<init>(JAXBContextImpl.java:302)
    at com.sun.xml.bind.v2.runtime.JAXBContextImpl$JAXBContextBuilder.build(JAXBContextImpl.java:1140)
    at com.sun.xml.bind.v2.ContextFactory.createContext(ContextFactory.java:154)
    Truncated. see log file for complete stacktrace
>

Я не могу понять, что я делаю неправильно, особенно когда я могу правильно запустить приложение веб-службы с METRO.

Я провел как и многие дни безрешение.

Пожалуйста, помогите.

1 Ответ

0 голосов
/ 20 декабря 2011

Прежде всего у вас есть

Причина: java.lang.IncompatibleClassChangeError: class com.sun.codemodel.writer.FilterCodeWriter имеет интерфейс com.sun.codemodel.CodeWriter в качестве суперкласса

Похоже, у вас есть несколько версий одной и той же библиотеки в classpath.

com.sun.codemodel принадлежит JAXB. Убедитесь, что версии JAXB api и jar реализации совпадают. Удалите устаревшие двойные числа, если таковые имеются (включая JAXB в комплекте с WebLogic). Также убедитесь, что все jaxb, jax-ws и wsit jar соответствуют версиям последнего выпуска метро .

Это может разрешить и следующие исключения. Если нет, продолжайте дальше.

Во-вторых, у вас есть соответствующая форма стека трассировки:

Причина: javax.xml.ws.WebServiceException: Ошибка создания JAXBContext для W3CEndpointReference. на com.sun.xml.ws.spi.ProviderImpl $ 2.run (ProviderImpl.java:261) Причина: com.sun.xml.bind.v2.runtime.IllegalAnnotationsException: 2 числа IllegalAnnotationExceptions Два класса имеют одинаковое имя типа XML "адрес". Используйте @ XmlType.name и @ XmlType.namespace, чтобы назначать им разные имена. эта проблема связана со следующим местоположением: в com.sun.xml.ws.developer.MemberSubmissionEndpointReference $ Address на общедоступном com.sun.xml.ws.developer.MemberSubmissionEndpointReference $ Address com.sun.xml.ws.developer.MemberSubmissionEndpointReference.addr на com.sun.xml.ws.developer.MemberSubmissionEndpointReference эта проблема связана со следующим местоположением: в javax.xml.ws.wsaddressing.W3CEndpointReference $ Address в частном javax.xml.ws.wsaddressing.W3CEndpointReference $ Address javax.xml.ws.wsaddressing.W3CEndpointReference.address в javax.xml.ws.wsaddressing.W3CEndpointReference

Это означает, что оба класса W3CEndpointReference и MemberSubmissionEndpointReference участвуют в создании одного и того же JAXBContext в одном и том же пространстве имен. На самом деле эти классы имеют разные NS в коде, что можно увидеть в конце ссылок выше. Изучите wsdl клиента, если он имеет xmlns:samens="http://schemas.xmlsoap.org/ws/2004/08/addressing" и xmlns:samens="http://www.w3.org/2005/08/addressing". Эксперимент по удалению понятия "http://schemas.xmlsoap.org/ws/2004/08/addressing" вообще.

Если ничего не помогает, вы можете отладить его с помощью источников метро. Это может быть даже ошибка в jaxb или metro.

Но, скорее всего, причина кроется в старой версии JAXB, не поддерживающей пространство имен, которая проникла в classpath.

...