若要使用基于 WCF 的 SQL 适配器对 SQL Server 执行任何操作,必须指定 SOAP 操作。 SOAP 操作向适配器传达应执行的动作。 可以从 Visual Studio 或 BizTalk Server 管理控制台指定 SOAP 操作。 但是,如果从这两个位置指定了 SOAP 操作,那么从 Visual Studio 指定的操作将会被覆盖。
有关指定 SOAP 操作的详细信息,请参阅 为 WCF 发送适配器指定 SOAP 操作。
在 Visual Studio 中输入 SOAP 操作
在 Visual Studio 中,必须使用表达式形状来指定 SOAP 操作为业务流程编排的一部分。
在 BizTalk 编排中,通过从 BizTalk 编排工具箱中拖动表达式形状来包含它。
双击 表达式 形状以打开 BizTalk 表达式编辑器。
在 BizTalk 表达式编辑器中指定操作。 例如:
OutboundMessage(WCF.Action)="TableOp/Insert/dbo/Employee"
有关 表达式 形状和 BizTalk 表达式编辑器的详细信息,请参阅 “如何创建表达式”。
在 BizTalk Server 管理控制台中输入 SOAP 操作
在 BizTalk Server 管理控制台中,可以指定 SOAP 操作为 WCF-Custom 或 WCF-SQL 端口配置的一部分。
为 WCF-Custom 端口输入 SOAP 动作
启动 BizTalk Server 管理控制台。
在控制台树中,展开 BizTalk 组,然后展开 应用程序,然后单击“ 发送端口”。 在右窗格中,可以选择创建端口或选择现有端口。
在“端口属性”对话框中,从 “类型” 下拉列表中选择 WCF-Custom,然后单击“ 配置”。
在 “WCF-Custom 传输属性 ”对话框中,单击“ 常规 ”选项卡。
在 “操作” 文本框中,指定该操作的 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 操作
启动 BizTalk Server 管理控制台。
将 WCF-SQL 适配器添加到 BizTalk Server 管理控制台。 有关说明,请参阅 将 SQL 适配器添加到 BizTalk Server 管理控制台。
在控制台树中,展开 BizTalk 组,然后展开 应用程序,然后单击“ 发送端口”。 在右窗格中,可以选择创建端口或选择现有端口。
在“端口属性”对话框中的“ 类型 ”下拉列表中,选择前面添加的 WCF-SQL 适配器,然后单击“ 配置”。
在“传输属性”对话框中,单击“ 常规 ”选项卡。
在 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动作的格式对于每个操作都是不同的。 有关每个操作的动作格式的详细信息,请参阅 消息和消息架构。