以下は、サードパーティのWebサービスに電話をかけた後にサードパーティから受信した実際のメッセージです。
<TransferRequest>
<SecurityHeader>
<...Removed, but not bothered by this/>
</SecurityHeader>
<TransferReq xmlns="'http://www.removedforthepostonstackoverflow">
.....
私のBizTalkマップでは、指定されたセキュリティヘッダーのない情報が必要です(したがって、ルートとしてTransferReqを使用します)-ヘッダーを含むXSDを生成しようとしましたが、それはできません-デフォルトの名前空間がルートの下に名前が付けられているためです。
BizTalk InboundBodyPathExpressionを修正して、XPathを使用して、ルートノードとして使用する関連ノードを検索しました。Microsoftのドキュメントは次のとおりです。WCFアダプターのメッセージ本文の指定
これは私のxpathです:
/*[local-name()='TransferRequest']/*[local-name()='TransferReq' and namespace()='http://www.removedforthepostonstackoverflow']
上記はサードパーティから返されるものです
しかし、私はこれを取得しますが、スローされます:
エンドポイントハンドラ通信の例外。メッセージの処理中にエラーが発生しましたError説明:System.InvalidOperationException:インバウンドボディパス式 "/ [local-name()='TransferRequest'] / [local-name()='TransferReq' and namespace()=' http:/ /www.removedforthepostonstackoverflow ']"は無効です。
誰かが私が間違ったことを見ることができますか?