填充在Soap Header / Action元素中的完整BtsActionMapping。 [英] Full BtsActionMapping populated in Soap Header/Action element.

查看:76
本文介绍了填充在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开发商

解决方案

嗨Jody,


您可以尝试在自定义发送管道中构建WCF标头,然后尝试使用生成服务时生成的SOAP操作标头发送请求


For参考 您可以查看下面的堆栈溢出链接


http://stackoverflow.com/questions/31324202/wcf-behavior-extension-to-biztalk-wcf-webhttp-send-port-not-populating-date -http



谢谢


Abhishek 功能


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

解决方案

Hi Jody ,

You can try constructing WCF Header in the custom send Pipeline and then try sending request to with the SOAP action header generated when you consumed the service

For reference you can look into below stack overflow link

http://stackoverflow.com/questions/31324202/wcf-behavior-extension-to-biztalk-wcf-webhttp-send-port-not-populating-date-http

Thanks

Abhishek 


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

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆