34.4 WS-RM Policyの追加方法
WS-RM 1.2機能では,WSDLファイルにWS-RM Policyを追加することで,WS-RM 1.2機能を有効にします。追加する項目は次のとおりです。
-
WS-RM Policyで使用する名前空間プレフィクスを定義する
-
wsdl:definitions要素の子要素としてポリシーを定義する
-
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による設定」を参照してください。