Spring Web服务是否支持Java 7?

时间:2013-02-28 22:10:24

标签: glassfish-3 java-7 spring-ws xerces xalan

我们正在为Java EE系统将Java版本从1.6升级到1.7。 我们广泛使用spring webservice(服务器端为1.5.8,客户端为2.0.4)。

初始测试(使用java7)显示Web服务调用的间歇性问题,如下所示 (我们在客户端和服务器上使用GlassFish 3.1.2.2,最近升级了)

  • 失败1(下面的服务器端日志)

服务器端间歇性故障(服务器springws-1.5.8和客户端spring-ws-2.0.4 - Java从1.6升级到1.7)

java.lang.IllegalStateException: Could not find SAAJ on the classpath
at org.springframework.ws.soap.saaj.SaajSoapMessage.getImplementation(SaajSoapMessage.java:261)
at org.springframework.ws.soap.saaj.SaajSoapMessage.<init>(SaajSoapMessage.java:84)
at org.springframework.ws.soap.saaj.SaajSoapMessage.<init>(SaajSoapMessage.java:70)
at org.springframework.ws.soap.saaj.SaajSoapMessageFactory.createWebServiceMessage(SaajSoapMessageFactory.java:168)
at org.springframework.ws.transport.AbstractWebServiceConnection.receive(AbstractWebServiceConnection.java:86)
at org.springframework.ws.transport.support.WebServiceMessageReceiverObjectSupport.handleConnection(WebServiceMessageReceiverObjectSupport.java:86)
at org.springframework.ws.transport.http.WebServiceMessageReceiverHandlerAdapter.handle(WebServiceMessageReceiverHandlerAdapter.java:57)

根据我的分析,上述问题似乎是由于spring ws version 1.5.8 - https://jira.springsource.org/browse/SWS-750的已知问题引起的,该问题在2.0.4中得到修复。但在进行版本升级之前,我想确保spring ws正式支持Java7。任何的想法? 无论如何,如果我们将客户端的java版本恢复为1.6,这个问题似乎得到解决 - 怀疑这与jdk7中打包的xerces / xalan版本有关

  • 失败2(下面的服务器端日志)

我们在另一个子系统上有类似的错误,其中服务器是springws-2.0.4,客户端是spring-ws-1.5.8 - Java两者都从1.6升级到1.7。

org.springframework.ws.transport.http.MessageDispatcherServlet: Could not complete request
org.springframework.ws.soap.saaj.SaajSoapEnvelopeException: Could not access envelope: Unable to create envelope from given source: ; nested exception is com.sun.xml.messaging.saaj.SOAPExceptionImpl: Unable to create envelope from given source:
at org.springframework.ws.soap.saaj.SaajSoapMessage.getSaajVersion(SaajSoapMessage.java:260)
at org.springframework.ws.soap.saaj.SaajSoapMessage.getImplementation(SaajSoapMessage.java:342)
at org.springframework.ws.soap.saaj.SaajSoapMessage.<init>(SaajSoapMessage.java:117)
at org.springframework.ws.soap.saaj.SaajSoapMessageFactory.createWebServiceMessage(SaajSoapMessageFactory.java:184)
at org.springframework.ws.soap.saaj.SaajSoapMessageFactory.createWebServiceMessage(SaajSoapMessageFactory.java:58)
at org.springframework.ws.transport.AbstractWebServiceConnection.receive(AbstractWebServiceConnection.java:90)

任何帮助都将不胜感激。

2 个答案:

答案 0 :(得分:0)

我们正在使用Tomcat7,JDK7和Spring-WS 2.1.2,它可以工作。

祝你好运!

答案 1 :(得分:0)

我们在部署在WebLogic上的生产系统中使用Spring-WS 2.2.3和Java 8,我们没有遇到任何问题。所以,我说Java 7得到了很好的支持!