若要使用基于 WCF 的 SAP 适配器对 SAP 系统执行任何操作,适配器用户必须指定 SOAP 操作。 SOAP 操作向适配器传达应执行的动作。 您可以在设计时或运行时指定 SOAP 操作。 但是,如果在设计时和运行时同时指定SOAP操作,您在设计时指定的操作将会被覆盖。
有关指定 SOAP 操作的详细信息,请参阅 为 WCF 发送适配器指定 SOAP 操作。
在设计时输入 SOAP 操作
对于设计时,必须通过包含表达式形状将 SOAP 操作指定为业务流程的一部分。
在 BizTalk 业务流程编排中,从 BizTalk 业务流程编排 工具箱中拖动表达式形状来添加它。
双击 表达式 形状以打开 BizTalk 表达式编辑器。
在 BizTalk 表达式编辑器中指定操作。 例如:
OutboundMessage(WCF.Action)="http://Microsoft.LobServices.Sap/2007/03/Rfc/RFC_CUSTOMER_GET"
有关 表达式 形状和 BizTalk 表达式编辑器的详细信息,请参阅 “如何创建表达式”。
在运行时输入 SOAP操作动作
对于运行时,您可以将 SOAP 操作指定为 WCF-Custom 或 WCF-SAP 端口配置的一部分。
为 WCF-Custom 端口输入 SOAP 操作
启动 BizTalk Server 管理控制台。
在控制台树中,展开 BizTalk 组,然后展开 应用程序,然后单击“ 发送端口”。 在右窗格中,可以选择创建端口或选择现有端口。
在“端口属性”对话框中,从 “类型” 下拉列表中选择 WCF-Custom,然后单击“ 配置”。
在 “WCF-Custom 传输属性 ”对话框中,单击“ 常规 ”选项卡。
在 Action 文本框中,指定操作的 SOAP 动作。 您可以通过以下方式指定操作:
通过使用单一操作格式。 如果 WCF-Custom 端口在单个操作中用于发送和接收消息,请使用此格式。 例如:
http://Microsoft.LobServices.Sap/2007/03/Rfc/RFC_CUSTOMER_GET
通过使用动作映射格式。 如果单个 WCF-Custom 端口用于多个操作的消息发送和接收,请使用此格式。 例如,如果单个 WCF-Custom 端口用于发送和接收 Op1(调用 RFC_CUSTOMER_GET RFC)和 Op2(调用 BAPI_SALESORDER_CREATEFROMDAT2 BAPI)的消息,则可以通过以下方式指定 SOAP 动作:
<BtsActionMapping> <Operation Name="Op1" Action="http://Microsoft.LobServices.Sap/2007/03/Rfc/RFC_CUSTOMER_GET " /> <Operation Name="Op2" Action="http://Microsoft.LobServices.Sap/2007/03/Bapi/BUS2032/CREATEFROMDAT2/BAPI_SALESORDER_CREATEFROMDAT2" /> </BtsActionMapping>
此方法在指定一组作方面提供了更大的灵活性,因此允许属于不同作类型的消息流经同一端口。
SOAP动作的格式对于每个操作都是不同的。 有关各项操作的动作格式的详细信息,请参阅 消息和消息架构。
为 WCF-SAP 端口输入 SOAP 操作
启动 BizTalk Server 管理控制台。
将 WCF-SAP 适配器添加到 BizTalk Server 管理控制台。 有关说明,请参阅 将 SAP 适配器添加到 BizTalk Server 管理控制台。
在控制台树中,展开 BizTalk 组,然后展开 应用程序,然后单击“ 发送端口”。 在右窗格中,可以选择创建端口或选择现有端口。
在“端口属性”对话框中的“ 类型 ”下拉列表中,选择前面添加的 WCF-SAP 适配器,然后单击“ 配置”。
在“传输属性”对话框中,单击“ 常规 ”选项卡。
在 Action 文本框中,指定操作的 SOAP 动作。 您可以通过以下方式指定操作:
通过使用单一操作格式。 如果 WCF-Custom 端口在单个操作中用于发送和接收消息,请使用此格式。 例如:
http://Microsoft.LobServices.Sap/2007/03/Rfc/RFC_CUSTOMER_GET
通过使用动作映射格式。 如果单个 WCF-Custom 端口用于多个操作的消息发送和接收,请使用此格式。 例如,如果单个 WCF-Custom 端口用于发送和接收 Op1 消息(调用 RFC_CUSTOMER_GET RFC)和 Op2 消息(调用 BAPI_SALESORDER_CREATEFROMDAT2 BAPI),则可以通过以下方式指定 SOAP 操作:
<BtsActionMapping> <Operation Name="Op1" Action="http://Microsoft.LobServices.Sap/2007/03/Rfc/RFC_CUSTOMER_GET " /> <Operation Name="Op2" Action="http://Microsoft.LobServices.Sap/2007/03/Bapi/BUS2032/CREATEFROMDAT2/BAPI_SALESORDER_CREATEFROMDAT2" /> </BtsActionMapping>
此方法在指定一组作方面提供了更大的灵活性,因此允许属于不同作类型的消息流经同一端口。
SOAP动作的格式对于每个操作都是不同的。 有关各项操作的动作格式的详细信息,请参阅 消息和消息架构。