【问题标题】:Receive multiple message types in one BizTalk HTTP receive location在一个 BizTalk HTTP 接收位置接收多种消息类型
【发布时间】:2015-05-22 14:26:49
【问题描述】:

是否可以有一个 BizTalk HTTP 接收位置(使用 BtsHttpReceive.dll)并接收多种入站消息类型?

例如我有:

  • Schema1,带有字段 OrderID 和 CustomerName
  • Schema2,带有字段 OrderNr 和 CustomerFullName
  • MainSchema,带有字段 OrderRef 和 Name
  • 从 Schema1 映射 > MainSchema
  • 从 Schema2 映射 > MainSchema

我有一个使用 BTSHttpReceive 的网站,如果客户在 POST 数据中使用 OrderID 和 CustomerName 向该网站提交发布请求,则应该创建消息 Schema1。

如果客户端使用 OrderNr 和 CustomerFullName 提交发布请求,则应创建消息 Schema2。 在接收端口,我将有入站映射:

  • Schema1 > MainSchema
  • Schema2 > MainSchema

我尝试使用 XMLReceivePipeline 像这样运行应用程序,但出现错误

执行接收管道失败:“Microsoft.BizTalk.DefaultPipelines.XMLReceive, .. 原因:没有 Disassemble 阶段组件可以识别数据。

这种情况在 BizTalk 中是否可以实现?

【问题讨论】:

    标签: http biztalk


    【解决方案1】:

    是的,但是这种情况是可能的

    1. 所有架构都必须是 XML 架构(不能使用平面文件架构)。
    2. 所有架构都需要部署到 BizTalk。
    3. 所有架构都需要有一个唯一的命名空间,并且接收到的 XML 需要有其中一个命名空间。

    【讨论】:

    • 是的,这三个我都做了。但事情是,当我执行 POST 请求时,消息正文取自 POST 正文。而且 BizTalk 似乎无法将其自动转换为 XML 消息,还是我遗漏了什么?
    • 您是否查看了暂停消息以了解 BizTalk 收到了什么?帖子正文应为 XML,如 1. 中所述,那么您期望什么转换?
    猜你喜欢
    • 2017-01-20
    • 1970-01-01
    • 2016-12-26
    • 1970-01-01
    • 2018-10-03
    • 1970-01-01
    • 1970-01-01
    • 2012-07-27
    • 2010-12-06
    相关资源
    最近更新 更多