为 SQL 适配器配置 SOAP 操作

若要使用基于 WCF 的 SQL 适配器对 SQL Server 执行任何操作,必须指定 SOAP 操作。 SOAP 操作向适配器传达应执行的动作。 可以从 Visual Studio 或 BizTalk Server 管理控制台指定 SOAP 操作。 但是,如果从这两个位置指定了 SOAP 操作,那么从 Visual Studio 指定的操作将会被覆盖。

有关指定 SOAP 操作的详细信息,请参阅 为 WCF 发送适配器指定 SOAP 操作

在 Visual Studio 中输入 SOAP 操作

在 Visual Studio 中,必须使用表达式形状来指定 SOAP 操作为业务流程编排的一部分。

  1. 在 BizTalk 编排中,通过从 BizTalk 编排工具箱中拖动表达式形状来包含它。

  2. 双击 表达式 形状以打开 BizTalk 表达式编辑器。

  3. 在 BizTalk 表达式编辑器中指定操作。 例如:

    OutboundMessage(WCF.Action)="TableOp/Insert/dbo/Employee"  
    

    有关 表达式 形状和 BizTalk 表达式编辑器的详细信息,请参阅 “如何创建表达式”。

在 BizTalk Server 管理控制台中输入 SOAP 操作

在 BizTalk Server 管理控制台中,可以指定 SOAP 操作为 WCF-Custom 或 WCF-SQL 端口配置的一部分。

为 WCF-Custom 端口输入 SOAP 动作

  1. 启动 BizTalk Server 管理控制台。

  2. 在控制台树中,展开 BizTalk 组,然后展开 应用程序,然后单击“ 发送端口”。 在右窗格中,可以选择创建端口或选择现有端口。

  3. 在“端口属性”对话框中,从 “类型” 下拉列表中选择 WCF-Custom,然后单击“ 配置”。

  4. “WCF-Custom 传输属性 ”对话框中,单击“ 常规 ”选项卡。

  5. “操作” 文本框中,指定该操作的 SOAP 动作。 可以通过以下方式指定操作:

    • 通过使用单个动作格式。 如果 WCF-Custom 端口在单次操作中同时发送和接收消息,请使用此格式。 例如:

      TableOp/Insert/dbo/Employee  
      
    • 通过使用动作映射格式。 如果单个 WCF-Custom 端口发送和接收多个操作的消息,请使用此格式。 例如,如果单个 WCF-Custom 端口发送和接收用于 Op1(在 Employee 表中插入记录)和 Op2(更新 Employee 表中记录)的消息,则可以通过以下方式指定 SOAP 动作:

      <BtsActionMapping>  
        <Operation Name="Op1" Action="TableOp/Insert/dbo/Employee" />  
        <Operation Name="Op2" Action="TableOp/Update/dbo/Employee" />  
      </BtsActionMapping>  
      

      动作映射方法在指定一系列动作方面提供了更大的灵活性,从而允许属于不同动作类型的消息通过同一个端口流动。

      SOAP 操作的格式因操作不同而有所不同。 有关每个操作的操作格式的详细信息,请参阅 消息和消息架构

为 WCF-SQL 端口输入 SOAP 操作

  1. 启动 BizTalk Server 管理控制台。

  2. 将 WCF-SQL 适配器添加到 BizTalk Server 管理控制台。 有关说明,请参阅 将 SQL 适配器添加到 BizTalk Server 管理控制台

  3. 在控制台树中,展开 BizTalk 组,然后展开 应用程序,然后单击“ 发送端口”。 在右窗格中,可以选择创建端口或选择现有端口。

  4. 在“端口属性”对话框中的“ 类型 ”下拉列表中,选择前面添加的 WCF-SQL 适配器,然后单击“ 配置”。

  5. 在“传输属性”对话框中,单击“ 常规 ”选项卡。

  6. Action 文本框中,指定操作的 SOAP 动作。 您可以通过以下方式指定操作:

    • 通过使用单一操作格式。 如果 WCF-SQL 端口在单个操作中用于发送和接收消息,请使用此格式。 例如:

      TableOp/Insert/dbo/Employee  
      
    • 通过使用动作映射格式。 如果单个 WCF-SQL 端口用于多个操作的消息发送和接收,请使用此格式。 例如,如果单个 WCF-SQL 端口发送和接收用于 Op1(即在 Employee 表中插入记录)和 Op2(即更新 Employee 表中记录)的消息,则可以通过以下方式来指定 SOAP 操作。

      <BtsActionMapping>  
        <Operation Name="Op1" Action="TableOp/Insert/dbo/Employee" />  
        <Operation Name="Op2" Action="TableOp/Update/dbo/Employee" />  
      </BtsActionMapping>  
      

      动作映射方法在指定一组动作时提供了更大的灵活性,从而允许属于不同动作类型的消息通过同一端口。

      SOAP动作的格式对于每个操作都是不同的。 有关每个操作的动作格式的详细信息,请参阅 消息和消息架构

另请参阅

使用 SQL 适配器开发 BizTalk 应用程序的构建基块