375.9. XPath の注入

Bean インテグレーションを使用して Bean のメソッドを呼び出す場合、@XPath (他の 言語も使用可) を使用してメッセージから値を展開し、メソッドパラメーターにバインドすることができます。

デフォルトの @XPath アノテーションには、SOAP および XML 名前空間が使用可能です。XPath 式で独自の名前空間 URI を使用する場合は、XPath アノテーション の独自のコピーを使用して、使用したい名前空間接頭辞を作成できます。

つまり、上部のコードを別のパッケージおよび/またはアノテーション名で独自のプロジェクトにカットアンドペーストし、メソッドパラメーターでアノテーションを使用するときにスコープ内に必要な名前空間接頭辞/URI を追加します。次に、メソッドパラメーターでアノテーションを使用すると、必要なすべての名前空間が XPath 式で使用できるようになります。

以下に例を示します。

public class Foo {

    @MessageDriven(uri = "activemq:my.queue")
    public void doSomething(@MyXPath("/ns1:foo/ns2:bar/text()") String correlationID, @Body String body) {
        // process the inbound message here
    }
}