java - 如何在 Web 服务中返回 HTTP 代码

标签 java web-services soap exception jax-ws

我有一个用 Java 构建的 SOAP Web 服务。

如果我的方法遇到异常,我想返回“HTTP CODE 500”。

这可能吗?如果是的话怎么办?

(Web 服务在 Tomcat 6 上运行)

最佳答案

也许您应该简单地自己抛出一个合格的异常,然后该异常将作为 SOAP 错误发送回客户端。 W3C 告诉我们这一点:

In case of a SOAP error while processing the request, the SOAP HTTP server MUST issue an HTTP 500 "Internal Server Error" response and include a SOAP message in the response containing a SOAP Fault element (see section 4.4) indicating the SOAP processing error. http://www.w3.org/TR/2000/NOTE-SOAP-20000508/

弄乱 http 响应代码可能很危险,因为其他一些客户端可能会期望不同的响应。在您的情况下,您会很幸运,因为您想要的行为正是 W3C 指定的。所以抛出异常;)

如何做到这一点?看看这里: How to throw a custom fault on a JAX-WS web service?

问候

巴斯蒂安

关于java - 如何在 Web 服务中返回 HTTP 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19543745/

相关文章:

java - 在 tomcat 7 上部署一个处于 openshift 中的 java-ee 应用程序

java - Python 替代 Java 小程序?

java - java服务器客户端编程如何与浏览器一起工作

xml - namespace URI 中尾部斜线的意义是什么?

java - Web 服务请求所需的 Java 类是什么数据类型?

java - 查看 HTTPS url 是否在线

java.util.Stack 合适的数据结构?

node.js - Azure Web应用程序: activate application logging for more than 12 hours

web-services - 如何同时运行Apache(httpd)和Tomcat?

web-services - 如何在 powershell 中创建由 webservice 工厂函数定义的对象?