微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决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 举报,一经查实,本站将立刻删除。