BizTalk发送端口入站正文xPathExpression XPath

时间:2012-11-13 11:39:22

标签: xpath biztalk biztalk-2010

以下是我打电话给他们的网络服务后从第三方收到的真实消息:

<TransferRequest>
<SecurityHeader>
<...Removed, but not bothered by this/>
</SecurityHeader>
<TransferReq xmlns="'http://www.removedforthepostonstackoverflow">
.....

在我的BizTalk映射中,我需要没有给定安全头的信息(所以使用TransferReq作为root) - 我已经尝试生成包含头的XSD但我不能这样做 - 由于默认命名空间在下面命名根。

我已尝试修改BizTalk InboundBodyPathExpression,因此它使用XPath查找我的相关节点作为其根节点,根据此处的microsofts文档:Specifying the Message Body for the WCF Adapters

这是我的xpath:

/*[local-name()='TransferRequest']/*[local-name()='TransferReq' and namespace()='http://www.removedforthepostonstackoverflow']

以上是第三方返回的内容

然而,我得到了这个,被抛出:

  

端点处理程序通信异常。处理message时发生错误错误描述:System.InvalidOperationException:入站正文路径表达式“/ [local-name()='TransferRequest'] / [local-name()='TransferReq'和名称空间()='http://www.removedforthepostonstackoverflow']“无效。

有人能看出我做错了吗?

1 个答案:

答案 0 :(得分:2)

问题很明显

没有XPath函数namespace() - 您需要使用标准的XPath函数:

namespace-uri()