本文介绍了填充在Soap Header / Action元素中的完整BtsActionMapping。的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

您好


在调用WCF服务时,在Soap Header中的action元素中开始出现奇怪的行为。以前它看起来像这样:


< s:Header>< Action xmlns =" http://schemas.microsoft.com/ws/2005/05/addressing/none" ; S:的mustUnderstand = QUOT 1个QUOT;>的 http://schemas.myCompany.com/entityservices/personservice/IPersonService/Upsert < /作用>< /秒:抬头>


现在它将整个BtsActionMapping放在SoapHeader中。


< s:Header>< Action xmlns =" http://schemas.microsoft.com/ws/2005/05/addressing/none" s:mustUnderstand =" 1 ">& lt; BtsActionMapping xmlns:xsi =" http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd =" http://www.w3.org/2001/XMLSchema"& gt;

  & lt;操作名称=" Upsert"行动= QUOT; HTTP://schemas.myCompany.com/entityservices/personservice/IPersonService/Upsert" /& gt;

& lt; / BtsActionMapping& gt; < / Action>< / s:Header>


这导致合同不匹配。没有涉及编排。为了解决我的问题,我不得不从


< BtsActionMapping xmlns:xsi =" http://www.w3.org/2001更改发送端口中的SoapActionHeader / XMLSchema的实例" xmlns:xsd =" http://www.w3.org/2001/XMLSchema">

  < Operation Name =" Upsert"行动= QUOT; HTTP://schemas.myCompany.com/entityservices/personservice/IPersonService/Upsert" />
$
< / BtsActionMapping>


收件人:


http://schemas.myCompany.com/ entityservices / personservice / IPersonService / Upsert


不确定为什么它不能正常工作而没有改变。我有其他服务在发送端口使用BtsActionMapping并且它们正在通过电线罚款(即没有whtce BtsActionMapping xml)


谢谢




Biztalk开发商

解决方案

Hi

Started getting strange behaviour in my action element in the Soap Header when calling a WCF Service. Previously it was looking like this:

<s:Header><Action xmlns="http://schemas.microsoft.com/ws/2005/05/addressing/none" s:mustUnderstand="1">http://schemas.myCompany.com/entityservices/personservice/IPersonService/Upsert</Action></s:Header>

now it is putting the whole BtsActionMapping in the SoapHeader.

<s:Header><Action xmlns="http://schemas.microsoft.com/ws/2005/05/addressing/none" s:mustUnderstand="1">&lt;BtsActionMapping xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"&gt;
  &lt;Operation Name="Upsert" Action="http://schemas.myCompany.com/entityservices/personservice/IPersonService/Upsert" /&gt;
&lt;/BtsActionMapping&gt;</Action></s:Header>

This results in a contract mismatch. There is no orchestration involved. To solve my problem I had to change my SoapActionHeader in the Send port from

<BtsActionMapping xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <Operation Name="Upsert" Action="http://schemas.myCompany.com/entityservices/personservice/IPersonService/Upsert" />
</BtsActionMapping>

To:

http://schemas.myCompany.com/entityservices/personservice/IPersonService/Upsert

Not sure why its not working anymore without that change. I have other services that use the BtsActionMapping in the Send port and they are going over the wire fine (ie without the wholce BtsActionMapping xml)

Thanks


Biztalk Developer

解决方案


这篇关于填充在Soap Header / Action元素中的完整BtsActionMapping。的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

11-03 03:01