【问题标题】:How to Use HTTP Receive GET Message in Orchestration?如何在编排中使用 HTTP 接收 GET 消息?
【发布时间】:2017-11-30 14:34:25
【问题描述】:

我已经设置了一个 HTTP 接收 (req-response) 适配器,并且消息似乎正在进入消息框。当我使用直接绑定的逻辑端口创建编排时,我收到了消息,但我尝试读取消息正文的所有内容都失败了(使用直通管道、允许无法识别的文件 = true 的 XML 管道)但我随时都会遇到异常尝试使用传入的消息(消息分配,sending the message to a custom module to try to read the part(s))。

除了详细介绍异常之外,任何人都可以指出有关在编排中访问/使用 HTTP Get messages 正文的正确方法的说明吗?为了解释我想要做什么,我想获取查询字符串(正文)并将其逐字发送到另一个编排进行处理,所以我只想从消息中提取正文(查询字符串)。

【问题讨论】:

  • 我认为问题是 BizTalk 无法解释消息。您是否尝试过平面文件架构并接收管道?

标签: get biztalk biztalk-orchestrations


【解决方案1】:

对于没有正文的 GET 请求,您需要使用 WCF-WebHttp 适配器而不是已弃用的 BTSHTTPReceive.dll

使用 WCF-WebHttp,您可以使用变量映射来使用 URI 参数填充消息上下文属性。

【讨论】:

  • 感谢您的回复。我确实首先尝试了这种方法,但它似乎需要我明确写入允许的操作/查询字符串。我正在尝试做的是允许用户访问类似 mysite.com/ 并在斜线 (/) 之后收集任何内容。那可能吗? imgur.com/No3HTU0
  • 另外,您将如何从编排中访问 Brand、OrderID、OrderNO 属性?我能找到的所有步骤都是将消息放入 msgbox/orchestration(我可以做得很好),但是接收形状应该是什么类型? XMLDocument,我在Variable mapping中设置的schema,Microsoft.XLANGs.BaseTypes.Any等?
  • @bee 与任何消息上下文属性相同。
【解决方案2】:

所以答案是不要将 HTTP 适配器用于 GET 请求。我没有意识到 HTTP 适配器已被有效地弃用。对于基本的 GET 请求,我必须切换到 WCF-WebHTTP adapter 并确保将属性包含在属性架构中,然后确保将变量映射中的架构设置为属性架构,而不是传入消息的消息类型架构.我希望 Microsoft 文档更清楚地说明 HTTP 适配器不能用于请求中未提供正文的非常基本的 GET 请求。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-11-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-27
    • 1970-01-01
    相关资源
    最近更新 更多