Назад | Перейти на главную страницу

Миграция JBoss 5.1.0 на JDK 7 - выдает ошибку SOAP jaxb

мы работаем над большим проектом, и мы находимся в процессе миграции установки JBoss на использование JDK7, в настоящее время он использует JDK6, и все работает нормально, но нам нужно использовать JDK7, но мы не можем использовать JBOSS 6 в качестве альтернативы.

При запуске JBOSS, если включена отладка jaxb, мы получаем следующие ошибки:

 [java] 11:57:28,477 ERROR [STDERR] ????. 15, 2012 11:57:28 AM javax.xml.bind
 [java] FINE: Trying to locate org/jboss/security/xacml/jaxb/jaxb.properties
 [java] 11:57:28,480 ERROR [STDERR] ????. 15, 2012 11:57:28 AM javax.xml.bind
 [java] FINE:   not found
 [java] 11:57:28,480 ERROR [STDERR] ????. 15, 2012 11:57:28 AM javax.xml.bind
 [java] FINE: Checking system property javax.xml.bind.context.factory
 [java] 11:57:28,481 ERROR [STDERR] ????. 15, 2012 11:57:28 AM javax.xml.bind
 [java] FINE:   not found
 [java] 11:57:28,481 ERROR [STDERR] ????. 15, 2012 11:57:28 AM javax.xml.bind
 [java] FINE: Checking system property javax.xml.bind.JAXBContext
 [java] 11:57:28,481 ERROR [STDERR] ????. 15, 2012 11:57:28 AM javax.xml.bind
 [java] FINE:   not found
 [java] 11:57:28,482 ERROR [STDERR] ????. 15, 2012 11:57:28 AM javax.xml.bind
 [java] FINE: Unable to find from OSGi: javax.xml.bind.JAXBContext
 [java] 11:57:28,482 ERROR [STDERR] ????. 15, 2012 11:57:28 AM javax.xml.bind
 [java] FINE: Checking META-INF/services
 [java] 11:57:28,482 ERROR [STDERR] ????. 15, 2012 11:57:28 AM javax.xml.bind
 [java] FINE: Reading jar:file:/D:/Product/jboss-5.1.0.GA/lib/endorsed/jaxb-impl.jar!/META-INF/services/javax.xml.bind.JAXBContext
 [java] 11:57:28,483 ERROR [STDERR] ????. 15, 2012 11:57:28 AM javax.xml.bind
 [java] FINE: Trying to load com.sun.xml.bind.v2.ContextFactory
 [java] 11:57:28,483 ERROR [STDERR] ????. 15, 2012 11:57:28 AM javax.xml.bind
 [java] FINE: loaded com.sun.xml.bind.v2.ContextFactory from jar:file:/D:/Product/jboss-5.1.0.GA/lib/endorsed/jaxb-impl.jar!/com/sun/xml/bind/v2/ContextFactory.class

Ошибка возникает, когда запрос SOAP обрабатывается в немаршалинговой части.

Следующий набор ошибок дополнительно возникает по запросу SOAP:

     [java] javax.xml.ws.WebServiceException: java.lang.IllegalArgumentException: prefix xs is not bound to a namespace
     [java]     at org.jboss.ws.core.jaxws.JAXBDeserializer.handleUnmarshallException(JAXBDeserializer.java:110)
     [java]     at org.jboss.ws.core.jaxws.JAXBDeserializer.deserialize(JAXBDeserializer.java:78)
     [java]     at org.jboss.ws.core.binding.DeserializerSupport.deserialize(DeserializerSupport.java:58)
     [java]     at org.jboss.ws.core.soap.XMLContent.unmarshallObjectContents(XMLContent.java:179)
     [java]     at org.jboss.ws.core.soap.XMLContent.transitionTo(XMLContent.java:96)
     [java]     at org.jboss.ws.core.soap.DOMContent.transitionTo(DOMContent.java:74)
     [java]     at org.jboss.ws.core.soap.SOAPContentElement.transitionTo(SOAPContentElement.java:140)
     [java]     at org.jboss.ws.core.soap.SOAPBodyElementDoc.transitionTo(SOAPBodyElementDoc.java:85)
     [java]     at org.jboss.ws.core.soap.SOAPContentElement.getObjectValue(SOAPContentElement.java:172)
     [java]     at org.jboss.ws.core.EndpointInvocation.transformPayloadValue(EndpointInvocation.java:261)
     [java]     at org.jboss.ws.core.EndpointInvocation.getRequestParamValue(EndpointInvocation.java:113)
     [java]     at org.jboss.ws.core.EndpointInvocation.getRequestPayload(EndpointInvocation.java:133)
     [java]     at org.jboss.ws.core.server.DelegatingInvocation.getArgs(DelegatingInvocation.java:80)
     [java]     at org.jboss.wsf.container.jboss50.invocation.InvocationHandlerEJB3.invoke(InvocationHandlerEJB3.java:93)
     [java]     at org.jboss.ws.core.server.ServiceEndpointInvoker.invoke(ServiceEndpointInvoker.java:222)
     [java]     at org.jboss.wsf.stack.jbws.RequestHandlerImpl.processRequest(RequestHandlerImpl.java:474)
     [java]     at org.jboss.wsf.stack.jbws.RequestHandlerImpl.handleRequest(RequestHandlerImpl.java:295)
     [java]     at org.jboss.wsf.stack.jbws.RequestHandlerImpl.doPost(RequestHandlerImpl.java:205)
     [java]     at org.jboss.wsf.stack.jbws.RequestHandlerImpl.handleHttpRequest(RequestHandlerImpl.java:131)
     [java]     at org.jboss.wsf.common.servlet.AbstractEndpointServlet.service(AbstractEndpointServlet.java:85)
     [java]     at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
     [java]     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
     [java]     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
     [java]     at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
     [java]     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
     [java]     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
     [java]     at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:235)
     [java]     at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
     [java]     at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:190)
     [java]     at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:433)
     [java]     at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:92)
     [java]     at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.process(SecurityContextEstablishmentValve.java:126)
     [java]     at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:70)
     [java]     at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
     [java]     at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
     [java]     at org.jboss.web.rewrite.RewriteValve.invoke(RewriteValve.java:460)
     [java]     at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158)
     [java]     at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
     [java]     at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:330)
     [java]     at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:829)
     [java]     at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:598)
     [java]     at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
     [java]     at java.lang.Thread.run(Thread.java:722)

Мы попытались заменить исходные распределенные библиотеки JBoss 5.1.0 из клиентского каталога новейшей версией jaxws 2.2.7, потому что некоторые из них, например jaxb, выдавали некоторые ошибки (забыл их зарегистрировать, извините).

Но SOAP по-прежнему не работает.

Если необходима какая-либо другая информация, прокомментируйте ее ниже.

Спасибо.

К сожалению, JBoss 5.1 не поддерживается для работы на JDK7, поэтому из-за видимых проблем, с которыми вы сталкиваетесь, запуск этой конфигурации в производственной среде может быть опасен.

смотреть на совместимые конфигурации для JBoss EAP 5.1 (он должен быть таким же для версий GA - Community). А на форумах jboss.org вы найдете дополнительную информацию о несовместимость.

Почему вам действительно нужно переходить на JDK7? Имейте в виду, что у вас может быть несколько версий JDK на одном сервере, и выберите, с какой из них вы хотите запускать JBoss.