- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我们有一个在 WebSphere Application Server(以下简称“客户端”)上运行的 Java 应用程序,它对分布在两个数据中心上的另一个应用程序进行 Web 服务调用,并在其之上有一个负载均衡器。
负载均衡器的工作方式如下:
例如:
> curl -i -s -k https://stealthwsort-1810.*.*/StealthWS/StealthServices
HTTP/1.0 302 Found
Location: https://stealthwsort-1810-vip.*.*:5443/StealthWS/StealthServices
Content-Type: text/html
Expires: Mon, 1 Jan 2001 00:00:00 GMT
Cache-Control: no-cache, no-store, must-revalidate
Pragma: no-cache
Server: BigIP
Connection: Keep-Alive
Content-Length: 0
由于某种原因,我们的客户端应用程序无法理解来自负载均衡器的 HTTP 302 响应,并在日志中抛出 WSWS3514E 和 WSWS3499W 错误:
[3/23/16 9:12:36:066 GMT] 00000029 HttpOutboundC E WSWS3514E: No HTTP response body is available from the connection for: https://stealthwsort-1810.apaas-np.*.*/StealthWS/StealthServices
[3/23/16 9:12:36:068 GMT] 00000029 SystemOut O esEligibilityWs(ERROR)=Unable to process the Stealth Status request at site : https://stealthwsort-1810.apaas-np.*.*/StealthWS/StealthServices : Error : WSWS3499W: Redirected new location: https://stealthwsort-1810.apaas-np.*.*/StealthWS/StealthServices
at bundles.workflow.classes.TaskWrapper.execute(TaskWrapper.java:581)
at bundles.workflow.classes.ProcessController.processTask(Unknown Source)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:831)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1661)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1602)
at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:113)
at com.ibm.ws.webcontainer.filter.WebAppFilterChain._doFilter(WebAppFilterChain.java:80)
at com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:908)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:939)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:507)
at com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.handleRequest(ServletWrapperImpl.java:181)
at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.forward(WebAppRequestDispatcher.java:374)
at com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest(CacheServletWrapper.java:91)
at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:878)
at com.ibm.ws.webcontainer.WSWebContainer.handleRequest(WSWebContainer.java:1592)
at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:191)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:453)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewRequest(HttpInboundLink.java:515)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.processRequest(HttpInboundLink.java:306)
at com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:84)
at com.ibm.ws.ssl.channel.impl.SSLReadServiceContext$SSLReadCompletedCallback.complete(SSLReadServiceContext.java:1819)
at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:175)
at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217)
at com.ibm.io.async.AsyncChannelFuture$1.run(AsyncChannelFuture.java:205)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1660)
IBM 网站建议:
You may want to check the product documentation for details about how to accept the automatic redirection to the new location.
但我找不到这方面的任何具体手册。
请指出我正确的方向。如果需要,我准备提供更多详细信息。
谢谢,叶夫根
最佳答案
首先,您需要为 JVM 配置一些额外的 HTTP 传输属性:
打开管理控制台。
单击服务器 > 应用程序服务器 > 服务器 > Java 和进程管理 > 进程定义 > Java 虚拟机 > 自定义属性。
可选:接受将 HTTP 请求重定向到 HTTPS 中的不同 URI。
如果在应用程序中配置了 CONFIDENTIAL 或 INTEGRAL 的传输保证,则可能会发生 HTTP 请求重定向到 HTTPS 中的不同 URI。要接受重定向,您可以执行以下任一任务:
com.ibm.ws.webservices.HttpRedirectEnabled
Java 系统属性为 true。com.ibm.wsspi.webservices.Constants.HTTP_REDIRECT_ENABLED
在调用服务之前,将属性赋给 Stub 或 Call 对象中的 java.lang.Boolean 对象。例如,使用以下任意 java.lang.Boolean
将属性设置为 true 的值:
根据要求,可以在以下链接中找到产品文档: http://www14.software.ibm.com/webapp/wsbroker/redirect?version=phil&product=was-base-iseries&topic=twbs_configaddhttppropertiesadmin
关于java - WSWS3499W : How to make WAS understand the HTTP 302 response from a web service?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36181986/
我是一名优秀的程序员,十分优秀!