2011-06-17 11 views
1

私はDom4jを使用してSOAPメッセージを解析しています。私は問題がありました:
ノードノード= document.selectSingleNode( "/ */soapenv:Envelope/soapenv:Body/ns:addResponse");
私は上記のXPathを使用したときに、私は次の例外を得た:
例外:推奨されていない名前空間を、削除:XPath式は、私がこれを行うための方法を発見した未結合の名前空間接頭辞NS1
を使用しています。
助けていただければ幸いです。おかげで
ところで、この作品のためのより良い方法やツールキットはありますか?JavaのSOAP応答メッセージからデータを解析する方法

答えて

1

org.dom4j.XPathオブジェクトを作成し、適切な名前空間バインディングをそれに添付する必要があります。このようなもの:

XPath xpath = document.createXPath("/*/soapenv:Envelope/soapenv:Body/ns:addResponse"); 
Map<String, String> nsb = new HashMap<String, String>(); 
nsb.put("soapenv", "http://schemas.xmlsoap.org/soap/envelope/"); 
nsb.put("ns", "....."); 
Node node = xpath.selectSingleNode(document); 

もっと良い方法がありますか?最近、JAX-WSがあります。サービスに利用できるWSDLがある場合は、通常、Javaインターフェイスとクラスを生成するのが非常に簡単です。

+0

キーを紛失しました:xpath.setNamespaceURIs(nsb); – cleverpig

関連する問題