Мы находимся в процессе обновления версии Java с 1.6 до 1.7 для нашей системы Java EE. Мы широко используем весенний веб-сервис (1.5.8 на стороне сервера и 2.0.4 на стороне клиента).
Первоначальное тестирование (с java7) показывает периодически возникающие проблемы с вызовами веб-сервисов, как показано ниже (мы используем 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 версии 1.5.8 — https://jira.springsource.org/browse/SWS-750, что исправлено в версии 2.0.4. Но перед обновлением версии я хотел убедиться, что spring ws официально поддерживает Java7. Есть идеи? В любом случае, эта проблема, похоже, будет решена, если мы вернем версию Java на стороне клиента обратно к 1.6 - подозреваю, что это связано с версиями xerces/xalan, упакованными в jdk7.
- Ошибка 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)
Любая помощь будет оценена по достоинству.