Hitachi

Cosminexus V11 アプリケーションサーバ Webサービス開発ガイド


34.4 WS-RM Policyの追加方法

WS-RM 1.2機能では,WSDLファイルにWS-RM Policyを追加することで,WS-RM 1.2機能を有効にします。追加する項目は次のとおりです。

  1. WS-RM Policyで使用する名前空間プレフィクスを定義する

  2. wsdl:definitions要素の子要素としてポリシーを定義する

  3. wsdl:binding要素の子要素でポリシーを参照する

追加例を次に示します。

<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions name="TestJaxWsService"
 
<!-- 中略 -->
 
<!-- 1.WS-RM Policyで使用する名前空間プレフィクスを定義する -->
  xmlns:wsp="http://www.w3.org/ns/ws-policy"
  xmlns:wsrmp="http://docs.oasis-open.org/ws-rx/wsrmp/200702"
  xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
  xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl">
 
<!-- 2.wsdl:definitions要素の子要素としてポリシーを定義する -->
  <wsp:Policy wsu:Id="WSRM_policy">
    <wsp:ExactlyOne>
      <wsp:All>
        <wsrmp:RMAssertion>
          <wsp:Policy>
            <wsrmp:DeliveryAssurance>
              <wsp:Policy>
                <wsrmp:ExactlyOnce/>
              </wsp:Policy>
            </wsrmp:DeliveryAssurance>
          </wsp:Policy>
        </wsrmp:RMAssertion>
        <wsaw:UsingAddressing/>
        <!-- その他の設定 -->
      </wsp:All>
    </wsp:ExactlyOne>
  </wsp:Policy>
 
  <wsdl:types>
 
<!-- 中略 -->
 
<!-- 3.wsdl:binding要素の子要素でポリシーを参照する -->
  <wsdl:binding name="testJaxWsBinding" type="tns:TestJaxWs">
    <wsp:PolicyReference URI="#WSRM_policy"/>
 
<!-- 後略 -->

背景色付きの太字で示す個所が,名前空間プレフィクスの定義,WS-RM Policyの定義,またはWS-RM Policyの参照個所です。

wsrmp:DeliveryAssurance要素以下は省略できます。wsrmp:DeliveryAssurance要素以下および「<!-- その他の設定 -->」以外は,そのまま記載します。「<!-- その他の設定 -->」は必要に応じて設定を追加します。「<!-- その他の設定 -->」としてWSDLに追加するプロパティについては「23.4 WS-Policyによる設定」を参照してください。