Apache CXF 3.0.2を使用して、アンマーシャリング時にネームスペースの問題を引き起こしているサービスを公開しています。すべての名前空間宣言がsoapenvelopeレベルで行われるとき、私はメッセージをアンマーシャリングしようとすると、それらは剥ぎ取られているか失われているように見えます。例えば、以下は無効として、XML表示されるでしょう:Apache CXFを使用したWebサービスでのSOAPネームスペースの問題
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:v1="http://foo.com/v1"
xmlns:v2="http://bar.com/v2"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Body >
<v1:foo>
<v2:bar>
</v1:foo>
</soapenv:Body>
</soapenv:Envelope>
をしかし、私はするSOAPBody以下にダウン宣言を移動した場合、XMLは細かい検証:私はインターセプタを書き込もうとしてきた
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Body xmlns:v2="http://bar.com/v2" xmlns:v1="http://foo.com/v1">
<v1:foo>
<v2:bar>
</v1:foo>
</soapenv:Body>
</soapenv:Envelope>
受信したリクエストを操作し、私が気にする名前空間宣言をヘッダからBodyタグに移動/コピーするが、このように受信メッセージを操作することはできないようである。誰にも示唆はありますか?