【问题标题】:return 500 status code using HTTPAdapter使用 HTTPAdapter 返回 500 状态码
【发布时间】:2015-08-14 19:17:49
【问题描述】:

我有一个带有 HTTP 适配器的请求-响应接收端口的编排。如果编排中发生异常,HTTP 适配器仍会返回 200 状态。

是否可以让 HTTP 适配器返回 500 状态错误而不是 200?

我的 BizTalk 版本是 2010。

【问题讨论】:

    标签: http biztalk biztalk-2010


    【解决方案1】:

    最好向调用者返回一条消息,其中包含一个可选的错误节点,您可以在其中将其作为业务异常引发。

    如果获得 500 状态,相当多的系统会自动重试该消息,在这种情况下它会一直失败。

    如果您在业务层面拒绝该消息,则需要确定该消息是否应该被接受(在这种情况下您需要修复您的代码)或者发件人是否有错误(在这种情况下他们需要修复他们发送的内容)。

    【讨论】:

      【解决方案2】:

      我不认为这可以通过 HTTP 适配器来完成,但您绝对可以使用 WCF-Custom 适配器来实现。不幸的是,BTS 2010 不提供对 WebHttp 绑定的轻松访问,但您可以使用 WCF-Custom 实现这一点,或者如果您想做 SOAP,您可以使用 WCF-BasicHttp。在故障端口上发回消息应生成 500 代码。

      请记住,要实现这一点,您必须允许将故障消息路由到调用方,并且您可能希望有一个自定义 WCF 行为来清理消息以删除可能存在的敏感细节通过故障端口传输(例如堆栈跟踪信息)。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-03-18
        • 1970-01-01
        • 1970-01-01
        • 2012-11-09
        • 1970-01-01
        • 1970-01-01
        • 2013-12-26
        • 2015-09-08
        相关资源
        最近更新 更多