问题描述
您好
在调用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"><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></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。的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!