动态解析示例工作原理

动态解析示例将 ESB 调度程序反汇编程序管道组件用于上一部分所述的所有消息传送示例。

对于单向消息传递方案,此示例使用 STATIC、BRE 或 XPATH 解析程序解析终结点,并将协议从 FILE 代理到 FILE、FTP 或 MQSeries。

对于双向消息传送方案,本示例使用 STATIC、BRE、UDDI 或 XPATH 解析程序解析终结点,并将协议从 SOAP 中转为 SOAP 或 WCF-BasicHttp。 此外,示例使用 BRE 解析程序解析和执行 Microsoft BizTalk 映射,该解析程序使用消息上下文属性和消息正文中包含的事实来确定解析结果。

解析过程的结果是,所有双向示例都将其消息提交到 ESB。CanadianServices Web 服务位于 http://localhost/ESB.CanadianServices/SubmitPOService.asmx. 此外,根据解析结果,该示例执行 submitOrdersubmitPurchase 操作。 此外,ESB 调度程序反汇编程序管道组件会根据指定的或已解决的操作动态执行 BizTalk 映射。

图 1 显示了为DynamicResolutionReqResp_SOAP接收位置配置的管道。

动态分辨率管道

图 1

动态分辨率示例应用程序的DynamicResolutionReqResp_SOAP接收位置的配置管道

图 2 显示了使用 ESB 调度程序反汇编程序的 ESBReceiveXML 组件的每个实例属性。

动态解析接收 XML

图 2

动态解析示例应用程序的 ESBReceiveXML 管道中组件的每个实例属性

图 2 中显示了以下属性:

  • “启用”。 此属性确定管道是否处于活动状态。 如果此项设置为 False,则消息无需处理即可传递。

  • Endpoint。 此属性是用于确定要加载哪个解析程序的连接字符串,并指定终结点配置。

  • MapName。 此属性是用于确定要加载哪个解析程序以及要执行哪个 BizTalk 映射的连接字符串。 它可以是映射的完全限定名称,而不是解析程序连接字符串。

  • 验证。 当设置为 True (默认设置) 时,ESB 调度程序反汇编程序组件会指示 ESB 转换服务根据映射中定义的源架构(将解析和执行)验证源消息。

    图 3 显示了使用 ESB 调度程序的 ESBSendPassthrough 组件的每个实例属性。

    动态分辨率发送直通

    图 3

    动态分辨率示例应用程序的 ESBSendPassthrough 管道中组件的每个实例属性

    图 3 中显示了以下属性:

  • “启用”。 此属性确定管道是否处于活动状态。 如果此项设置为 False,则消息无需处理即可传递。

  • Endpoint。 此属性是用于确定要加载的解析程序以及终结点配置的连接字符串。

  • MapName。 此属性是用于确定要加载哪个解析程序以及要执行哪个 BizTalk 映射的连接字符串。 可以使用映射的完全限定名称来代替冲突解决程序的连接字符串。

  • 验证。 当设置为 True (默认设置) 时,ESB 调度程序反汇编程序组件会指示 ESB 转换服务根据映射中定义的源架构(将解析和执行)验证源消息。