当社は、有効な SOAP を使用していると考えています。ただし、soopenv 名前空間プレフィックスに次の名前空間宣言を使用しています。
xmlns:cfg-env="http://www.co.com/schemas/cfg-env/"
これは、次のような xml/soap 要求メッセージに現れます。
<cfg-env:Envelope xmlns="http://www.co.com/schemas/CFX/" xmlns:cfg- env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:cfg-hdr="http://www.co.com/schemas/cfg-hdr/">
<cfg-env:Header>
この SOAP 名前空間宣言は、そのままでは WCF によって認識されません。それを適切な SOAP 1.1 名前空間に変更すると、WCF は要求を認識し、メッセージの処理を開始します。
以下は、私たちがよく知っている適切な宣言です: xmlns:cfg-env="http://schemas.xmlsoap.org/soap/envelope/"
ここではcfg-envである典型的なsoopenvプレフィックスにこの名前空間宣言を使用すると、WCFは要求メッセージを認識します。
この誤った soapenv 名前空間宣言を認識するように WCF を変更して、変更せずにメッセージが認識されるようにする方法はありますか?
これを要件として考えると、リクエスト メッセージの cfg-env 名前空間宣言を変更する必要があります。これを機能させるには、リクエスト メッセージを変更せずにそのままにしておくと役に立ちます。
WCF で代替名前空間宣言を適用できますか?また、これに対応するにはどうすればよいですか?