Мое приложение использует веб-сервис REST с использованием Spring Integration. Он использует зависимости версии Spring 4.2.4 (включая SI) и версию 2.0.0 для spring-ws-all и spring-xml.
Ошибка получения 400 на JDK 1.8 и версии 12.2.1.3 сервера Weblogic. То же самое отлично работает на JDK 1.8 и версии Weblogic 12.1.3.
Используя протоколирование с помощью проводного подключения, можно увидеть значения заголовка и полезной нагрузки, установленные как требуется.
В заметках Oracle Weblogic 12.2.1 я вижу элементы Spring Integration в устаревшем разделе. Не могли бы вы дать мне знать, если мне нужно удалить эти коды интеграции Spring и перейти на другой подход? Приложение обновляется до версии 12.2.1.3.
https://docs.oracle.com/middleware/12213/wls/NOTES/whatsnew.htm#GUID-F9662641-617E-4621-A705-7AF04D370F28
<int:chain input-channel="inChannel" output-channel="respChannel">
<int:header-enricher>
<int:header name="Content-Type" value="application/xml" />
<int:header name="Accept" value="application/xml"/>
</int:header-enricher>
<int-http:outbound-gateway
header-mapper="headerMapper"
url-expression="@paramHandler.getProperty('validate-url')"
http-method="POST"
expected-response-type ="org.types.ValidateResponse">
<int-http:request-handler-advice-chain>
<ref bean="statsAdvice" />
<ref bean="exceptionHandler" />
</int-http:request-handler-advice-chain>
</int-http:outbound-gateway>
Exception:
org.springframework.web.client.HttpClientErrorException: 400 Error
at org.springframework.web.client.DefaultResponseErrorHandler.handleError(DefaultResponseErrorHandler.java:91) ~[spring-web-4.2.4.RELEASE.jar:4.2.4.RELEASE]
at org.springframework.web.client.RestTemplate.handleResponse(RestTemplate.java:641) ~[spring-web-4.2.4.RELEASE.jar:4.2.4.RELEASE]
at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:597) ~[spring-web-4.2.4.RELEASE.jar:4.2.4.RELEASE]
at org.springframework.web.client.RestTemplate.execute(RestTemplate.java:572) ~[spring-web-4.2.4.RELEASE.jar:4.2.4.RELEASE]
at org.springframework.web.client.RestTemplate.exchange(RestTemplate.java:493) ~[spring-web-4.2.4.RELEASE.jar:4.2.4.RELEASE]
at org.springframework.integration.http.outbound.HttpRequestExecutingMessageHandler.handleRequestMessage(HttpRequestExecutingMessageHandler.java:382) ~[spring-integration-http-4.2.4.RELEASE.jar:na]