在Wcf自定义发送端口上生成SOAP操作标头

时间:2019-03-28 08:50:58

标签: c# xml wcf soap biztalk

我正在使用Biztalk创建发送端口,该端口使用Wcf-Custom适配器发送SOAP请求。

到目前为止,我已经使用System-ServiceModel命名空间中的C#代码在Visual Studio中测试SOAP请求。参见下面的代码:

/ CODEGEN: Generating message contract since the operation transferPayments is neither RPC nor document wrapped.
    [System.ServiceModel.OperationContractAttribute(Action="urn:CorporateService:transferPayment", ReplyAction="*")]
    [System.ServiceModel.XmlSerializerFormatAttribute()]
    transferPaymentsResponse transferPayments(transferPayment1 request);

    [System.ServiceModel.OperationContractAttribute(Action="urn:CorporateService:transferPayment", ReplyAction="*")]
    System.Threading.Tasks.Task<transferPaymentsResponse> transferPaymentsAsync(transferPayment1 request);

我需要将此“ transferPayment”操作添加到适配器的SOAP操作标头字段中。

enter image description here

使用提供的示例,我想出了这个

<BtsActionMapping xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">  
<Operation Name="TransferPayment" Action="http://bankconnect.dk/schema/2014/CorporateService/TransferPayment" />  
</BtsActionMapping>

其中“ {http://bankconnect.dk/schema/2014”是名称空间,“ CorporateService”是服务,“ TransferPayment”是操作。我不确定这是否是实现此目标的正确方法。

我的问题是我应该如何格式化SOAP操作标头,以便它们对应于所使用的c#代码。

1 个答案:

答案 0 :(得分:0)

我建议您使用BizTalk WCF Service Consume Wizard在BizTalk内部生成模式。这将为您执行所有可能的操作。