Java WS Soap不支持特定的HTTP状态代码作为响应

问题描述

我正在使用javax.jws包调用SOAP服务,但似乎它仅支持特定的HTTP状态代码作为响应。 如果我调用任何方法,并且服务器返回HTTP 400代码,则会引发ClientTransportException

com.sun.xml.internal.ws.client.ClientTransportException: The server sent HTTP status code 400: Bad Request
at com.sun.xml.internal.ws.transport.http.client.HttpTransportPipe.checkStatusCode(HttpTransportPipe.java:310)
at com.sun.xml.internal.ws.transport.http.client.HttpTransportPipe.createResponsePacket(HttpTransportPipe.java:259)
at com.sun.xml.internal.ws.transport.http.client.HttpTransportPipe.process(HttpTransportPipe.java:217)
at com.sun.xml.internal.ws.transport.http.client.HttpTransportPipe.processRequest(HttpTransportPipe.java:130)

我检出了com.sun.xml.internal.ws.transport.http.client.HttpTransportPipe类,并且checkStatusCode方法正在验证以下规则:

  • 允许以下HTTP状态代码
  • SOAP 1.1 / HTTP-200、202、500
  • SOAP 1.2 / HTTP-200、202、400、500
  • XML / HTTP-全部

该库似乎不支持通过SOAP 1.1从服务器获取400 Bad Request作为响应。我检查了SOAP规范,但是没有发现与不接受特定状态代码有关的任何内容。我想念什么吗?有什么办法可以解决这个问题?

谢谢。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)