我有一个带有HTTP适配器的请求 - 响应接收端口的编排。如果编排中发生异常,则HTTP适配器仍会返回200状态。使用HTTPAdapter返回500状态码
是否有可能使HTTP适配器返回500状态错误而不是200?
我的BizTalk版本为2010年
我有一个带有HTTP适配器的请求 - 响应接收端口的编排。如果编排中发生异常,则HTTP适配器仍会返回200状态。使用HTTPAdapter返回500状态码
是否有可能使HTTP适配器返回500状态错误而不是200?
我的BizTalk版本为2010年
这将是更好的做法是返回一个信息,它包括在其中你提高它作为一个业务异常的可选的错误节点调用者。
不少系统会自动重试消息,如果他们得到500的状态,在这种情况下,它会保持失败。
如果您在业务级别拒绝该消息,则需要确定消息是否应该被接受(在这种情况下,您需要修复代码)或发送者是否有错误(在这种情况下他们需要解决他们正在发送的内容)。
我不认为这可以通过HTTP适配器来完成,但是您可以使用WCF自定义适配器来实现它。不幸的是,BTS 2010并没有提供对WebHttp绑定的简单访问,但是你可以通过WCF-Custom实现,或者如果你想做SOAP,你可以使用WCF-BasicHttp。在故障端口上发送消息应该生成一个500码。
请记住,要实现这一点,您必须允许将错误消息路由到调用方,并且您可能希望具有自定义的WCF行为来清理消息以删除可能会发生的敏感细节通过故障端口传输(如堆栈跟踪信息)。