接收400或500时的BizTalk行为Http发送适配器

接收400或500时的BizTalk行为Http发送适配器,biztalk,biztalk-2016,Biztalk,Biztalk 2016,如果我的Http发送适配器收到Http 500,我想重试。如果它返回400,我不希望它重试。相反,我想订阅这条消息,并通过电子邮件发送到某个地方 Http发送适配器似乎会自动重试除200之外的所有内容,当它是400或500时,似乎不会发布响应消息。我在这里遗漏了什么吗?不幸的是,这是预期的行为。这是我在博客文章(以下摘录)中提到的一个缺失功能,因为重试结束后,它抛出错误的方式也存在问题。解决方法是将重试次数设置为零,并使用编排或编码另一种重试机制 缺少:BIZTALK WCF-WEBHTTP适配

如果我的Http发送适配器收到Http 500,我想重试。如果它返回400,我不希望它重试。相反,我想订阅这条消息,并通过电子邮件发送到某个地方


Http发送适配器似乎会自动重试除200之外的所有内容,当它是400或500时,似乎不会发布响应消息。我在这里遗漏了什么吗?

不幸的是,这是预期的行为。这是我在博客文章(以下摘录)中提到的一个缺失功能,因为重试结束后,它抛出错误的方式也存在问题。解决方法是将重试次数设置为零,并使用编排或编码另一种重试机制

缺少:BIZTALK WCF-WEBHTTP适配器抑制404状态代码的能力

详细信息:当您对RESTful服务执行get操作并获得404状态代码和有效负载,表明您请求的对象不存在时,它将抛出SOAP异常。如果能够在GET(或其他操作)上抑制404状态代码(或其他状态代码),并将响应作为业务异常(而不是系统异常)通过管道和流程正常解析,那就太好了

解决方法:捕获业务流程中的异常,并查找服务引发的未找到错误描述