0
Apache CXF 3.1を使用してサードパーティWebサービスにアクセスしようとしています。 wsdl2javaで生成されたコードまたはcurlを使用してサービスを呼び出すと、サービスは有効なSOAPメッセージではないことを示す例外を返します。以下のメッセージを参照してください。Apache CXFを使用してEnvelopeからSoap名前空間を削除する方法
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<connectivityTest xmlns="urn:cdc:iisb:2011" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="connectivityTest">
<echoBack>Hello IIS!</echoBack>
</connectivityTest>
</soap:Body>
</soap:Envelope>
私は名前空間(soap :)を削除し、curlを使用してサービスを呼び出すと、サービスが機能します。以下の作業メッセージを参照してください。
<?xml version="1.0" encoding="utf-8"?>
<Envelope xmlns="http://www.w3.org/2003/05/soap-envelope">
<Body>
<connectivityTest xmlns="urn:cdc:iisb:2011" xmlns:ns2="http://www.w3.org/2003/05/soap-envelope">
<echoBack>Hello IIS V2!</echoBack>
</connectivityTest>
</Body>
それが送られた前に、どのように私は、SOAPメッセージのエンベロープおよびボディ要素から名前空間を削除しますか?ウェブの検索に基づいて、私は迎撃器を作る必要があるかもしれないようです。 EnvelopeとBody要素から名前空間を削除するインターセプタの例を提供できるものがあれば、それは大いに感謝しています。
ありがとうございます! JR