我有一个带有HTTP适配器的请求 - 响应接收端口的编排。如果业务流程中发生异常,则HTTP适配器仍返回200状态。
是否可以使HTTP适配器返回500状态错误而不是200?
我的BizTalk版本是2010年。
答案 0 :(得分:0)
最好将一条消息返回给调用者,其中包含一个可选的错误节点,您可以在其中将其作为业务异常引发。
如果系统获得500状态,相当多的系统会自动重试该消息,在这种情况下它会一直失败。
如果您在业务级别拒绝该消息,则需要确定该消息是否已被接受(在这种情况下您需要修复您的代码)或发件人是否有错误(在这种情况下他们是需要修复他们发送的内容)。
答案 1 :(得分:0)
我不认为这可以通过HTTP适配器完成,但您绝对可以通过WCF-Custom适配器实现。不幸的是,BTS 2010并没有提供对WebHttp绑定的轻松访问,但您可以使用WCF-Custom实现,或者如果您想要使用WCF-BasicHttp。在故障端口上发回消息应生成500代码。
请记住,要实现这一点,您必须允许将错误消息路由到调用方,并且您可能希望使用自定义WCF行为来清除消息以删除敏感可能通过故障端口传输的详细信息(例如堆栈跟踪信息)。