当 SoapFaultException 时如何将状态代码设置为 200?
我使用 Glassfish 3 和 jax-ws (metro)。我编写了一个可以抛出 SOAPFaultException 的 SOAPHandler。我在客户端使用 Silverlight。 SOAPFault 将响应代码设置为 500,但 Silverlight 无法处理,需要设置为 200。如何将状态代码更改为 200?如果我在客户端使用 WPF 一切都很好。
以下是 WCF 的解决方案: http://msdn .microsoft.com/en-us/library/ee844556(v=vs.95).aspx 但这没有帮助...
谢谢。
答案:
在 Handler Close 方法中它可以工作!:
context.put(MessageContext.HTTP_RESPONSE_CODE, new Integer(200)); context.setScope(MessageContext.HTTP_RESPONSE_CODE, MessageContext.Scope.APPLICATION);
I use Glassfish 3 with jax-ws (metro). I write a SOAPHandler which can throw SOAPFaultException. I use Silverlight on the client side. SOAPFault set response code to 500, but Silverlight can't handle it, and it need to be set 200. How can I change the status code to 200? If I use WPF in the client side everything is good.
Here is the solution for WCF: http://msdn.microsoft.com/en-us/library/ee844556(v=vs.95).aspx but it not help...
Thanks.
Answer:
In Handler Close method it's works!:
context.put(MessageContext.HTTP_RESPONSE_CODE, new Integer(200)); context.setScope(MessageContext.HTTP_RESPONSE_CODE, MessageContext.Scope.APPLICATION);
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我发现这个答案对我有帮助: http://mark.mymonster.nl/2011/02/10/make-use-of-wcf-faultcontracts-in-silverlight-clients/
I found that this answer helped me: http://mark.mymonster.nl/2011/02/10/make-use-of-wcf-faultcontracts-in-silverlight-clients/