20.4. WS-Addressing 属性の設定

概要

Apache CXF WS-Addressing 機能要素は、namespace http://cxf.apache.org/ws/addressing で定義されています。表20.2「WS-Addressing 属性」 で説明されている 2 つの属性をサポートします。

表20.2 WS-Addressing 属性

属性名

allowDuplicates

重複する MessageID が許容されるかどうかを決定するブール値。デフォルト設定は true です。

usingAddressingAdvisory

WSDL に UsingAddressing 要素が存在するかどうかを示すブール値。これは、WS-Addressing ヘッダーのエンコーディングを阻止しません。

WS-Addressing 属性の設定

サーバーまたはクライアント設定ファイルの WS-Addressing 機能に属性と設定する値を追加して、WS-Addressing 属性を設定します。たとえば、以下の設定抽出は、サーバーエンドポイントで allowDuplicates 属性を false に設定します。

<beans ... xmlns:wsa="http://cxf.apache.org/ws/addressing" ...>
    <jaxws:endpoint ...>
        <jaxws:features>
            <wsa:addressing allowDuplicates="false"/>
        </jaxws:features>
    </jaxws:endpoint>
</beans>

機能に埋め込まれた WS-Policy アサーションの使用

例20.3「ポリシーを使用した WS-Addressing の設定」 では、匿名の応答を有効にするアドレスポリシーアサーションが policies 要素に組み込まれます。

例20.3 ポリシーを使用した WS-Addressing の設定

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xmlns:wsa="http://cxf.apache.org/ws/addressing"
        xmlns:wsp="http://www.w3.org/2006/07/ws-policy"
        xmlns:policy="http://cxf.apache.org/policy-config"
        xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
        xmlns:jaxws="http://cxf.apache.org/jaxws"
        xsi:schemaLocation="
http://www.w3.org/2006/07/ws-policy http://www.w3.org/2006/07/ws-policy.xsd
http://cxf.apache.org/ws/addressing http://cxf.apache.org/schema/ws/addressing.xsd
http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">

    <jaxws:endpoint name="{http://cxf.apache.org/greeter_control}GreeterPort"
                    createdFromAPI="true">
        <jaxws:features>
            <policy:policies>
                <wsp:Policy xmlns:wsam="http://www.w3.org/2007/02/addressing/metadata">
                    <wsam:Addressing>
                        <wsp:Policy>
                            <wsam:NonAnonymousResponses/>
                        </wsp:Policy>
                    </wsam:Addressing>
                </wsp:Policy>
            <policy:policies>
        </jaxws:features>
    </jaxws:endpoint>
</beans>