为 WCF 发送适配器指定 SOAP 操作

可以设置 WCF。WCF 发送适配器传输属性对话框或业务流程表达式形状中的操作 上下文 属性。 如果设置 WCF。业务流程中的操作上下文属性,需要在静态发送端口的"WCF 适配器传输属性"对话框中将"操作"字段留空。 如果还在静态发送端口中指定操作,则 WCF。将 重写在业务流程中设置的操作上下文属性。

此外,有两种方法可以指定此属性:单个操作格式和操作映射格式。 如果以单个 http://MyService/IMyContract/MyAction1操作格式(例如 )设置此属性,则"WCF 发送适配器传输属性"对话框中传出消息的 SOAP 操作始终设置为此属性中指定的值。 或者,可以在业务流程"表达式"形状中设置单个 操作 格式。 例如,应用于对象的

OutboundMessage(WCF.Action)="http://MyService/IMyContract/MyAction1";  

如果以操作映射格式设置此属性,则传出 SOAP 操作由 BTS 确定。操作 上下文属性。 例如,如果此属性在 WCF 发送适配器传输属性对话框和 BTS 中设置为以下 XML 格式。Operation 属性 设置为Operation_1 WCFhttp://MyService/IMyContract/MyAction1 发送适配器用于传出 SOAP 操作发送端口中。

BtsActionMapping xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">  
<Operation Name="Operation_1" Action="http://MyService/IMyContract/MyAction1" />  
<Operation Name="Operation_2" Action="http://MyService/IMyContract/MyAction2" />  
<Operation Name="Operation_3" Action="http://MyService/IMyContract/MyAction3" />  
</BtsActionMapping>  

为 WCF 指定操作 映射。不支持 表达式 形状 中的操作。 您需要在 WCF 传输属性对话框中指定操作映射。 然后,WCF 适配器将通过使用 BTS 查找 SOAP 操作。操作 上下文属性,业务流程将该属性设置为发送消息的端口上的操作的名称。

如果传出消息使用基于内容的路由路由 (CBR http://schemas.microsoft.com/BizTalk/2003/system-properties#Operation) 其中未设置 属性,WCF 发送适配器将整个操作映射字符串设置为传出 WCF 消息的操作。 若要处理这种情况,可以执行以下操作之一:

  • 将发送端口上的操作字段设置为 http://MyService/IMyContract/MyAction1

  • 设置 BTS。管道 中的操作上下文属性。 例如,将 的值设置为 http://schemas.microsoft.com/BizTalk/2003/system-properties#Operation Operation1。

  • 将操作字段保留为空,改用传入消息中的操作。

    您也可以通过 BizTalk WCF 服务使用向导来使用包含单一操作或操作映射的 WCF 服务。 有关详细信息,请参阅如何使用BizTalk WCF 服务使用向导 WCF 服务

另请参阅

使用 WCF 适配器上下文属性配置动态发送端口