ポリシー添付を介した Web サービス・ポリシーの定義

Liberty では、Web サービス・アプリケーションのポリシー添付ファイルまたは Web サービス記述言語 (WSDL) ファイル内で Web サービス・ポリシー (WS-Policy) を定義できます。

このタスクについて

WSDL ファイルがアプリケーションにパッケージされていない場合、ポリシー添付を使用して、 Web サービス・アプリケーション用の WS-Policy を構成できます。ポリシー添付フィーチャーは、多くの場合、 Java API for XML Web Services (JAX-WS) 2.2 フィーチャーを使用可能にすると、 Web サービス・アプリケーション・パッケージに対して自動的に使用可能にされます。必要なのは、Web サービスのクライアント・サイドとプロバイダー・サイドの両方を構成して、 アプリケーションの WS-Policy 添付ファイルを定義することだけです。

WS-Policy のサポートとは、アプリケーション・サーバーにおける次の仕様の実装のことです。
  • WS-Policy は、Web サービスが XML を使用してセキュリティーおよびサービス品質についてのポリシーを公表できる仕様であり、Web サービス利用者にとってはポリシー要件を指定できる仕様です。 詳しくは、Web Services Policy 1.5 - Framework を参照してください。
  • WS-Policy Attachment は、Web Services Policy Framework 内での定義に従って、ポリシーをポリシー適用先サブジェクトに関連付けるための、2 つの汎用目的メカニズムを定義します。詳しくは、Web Services Policy 1.2 - Attachment を参照してください。

手順

  1. policy-attachments-client.xml ファイルまたは policy-attachments-server.xml ファイルを作成します。

    次の例は、policy-attachments-client.xml ファイルまたは policy-attachments-server.xml ファイル内での属性の定義方法を示します。

    <attachments
    xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
    xmlns:wsp="http://www.w3.org/ns/ws-policy"
    xmlns:wsa="http://www.w3.org/2005/08/addressing"
    xmlns:sp13="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200802"
    xmlns:sp="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702">
    <wsp:PolicyAttachment wsdlNamespace="http://tempuri.org/AreaService/">
    	<wsp:AppliesTo>
    	   <wsp:URI>http://tempuri.org/AreaService/#wsdl11.service(AreaService)</wsp:URI>
    	</wsp:AppliesTo>
    	<wsp:Policy wsu:Id="UsernameTokenwithPasswordHashoverSSL">
    	   <wsp:ExactlyOne>
    	       <wsp:All>
    		   <sp:SupportingTokens>
    			<wsp:Policy>
    		          <sp:UsernameToken sp:IncludeToken="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702/IncludeToken/AlwaysToRecipient">
    			      <wsp:Policy>
    				  <sp:WssUsernameToken10 />
    				  <sp:HashPassword />
    			      </wsp:Policy>
    			   </sp:UsernameToken>
    			</wsp:Policy>
    		   </sp:SupportingTokens>
    		</wsp:All>
    	   </wsp:ExactlyOne>
    	</wsp:Policy>
    </wsp:PolicyAttachment>
    </attachments>
    ポリシーをバインドする方法は 2 つあります。
    • 以下に示すように、Endpoint DomainExpression <wsa:EndpointReference> を使用して、Web サービス URL を直接定義します。
      <wsp:AppliesTo>
         <wsa:EndpointReference>
             <wsa:Address>http://localhost:8091/wsatApp/HelloImplService</wsa:Address>
         </wsa:EndpointReference>
      </wsp:AppliesTo>
    • 以下に示すように、URI DomainExpression <wsp:URI> を使用して、ポリシーをバインドします。
      <wsp:AppliesTo>
          <wsp:URI>http://server.test.ws.ibm.com/#wsdl11.service(HelloImplService)</wsp:URI>
      </wsp:AppliesTo>
        

      次の表は、WSDL エレメントと、ポリシー添付ファイル内での ID 式を示します。

      表 1. <wsp:URI> 式のリスト
      WSDL エレメント ID 式 (targetNamespace は省略)
      Definitions wsdl11.definitions()
      Message wsdl11.message(message)
      Message/part wsdl11.messagePart(message / part)
      portType wsdl11.portType(portType)
      portType/operation wsdl11.portTypeOperation(portType/operation)
      portType/operation/input wsdl11.portTypeOperation.input(portType/operation)
      portType/operation/output wsdl11.portTypeOperation.output(portType/operation)
      portType/operation/fault wsdl11.portTypeOperation.fault(portType/operation/fault)
      Binding wsdl11.binding(binding)
      Binding/operation wsdl11.bindingOperation(binding/operation)
      Binding/operation/input wsdl11.bindingOperation.input(binding/operation)
      Binding/operation/output wsdl11.bindingOperation.output(binding/operation)
      Binding/operation/fault wsdl11.bindingOperation.fault(binding/operation/fault)
      Service wsdl11.service(service)
      port wsdl11.port(service/port)
  2. アプリケーションの WEB-INF フォルダーまたは META-INF フォルダーに、policy-attachments-client.xml ファイルまたは policy-attachments-server.xml ファイルを置きます。
    • Web サービス・クライアントの WS-Policy 用に、アプリケーションの WEB-INF フォルダーまたは META-INF フォルダーに policy-attachments-client.xml を置きます。
    • Web サービス・プロバイダーの WS-Policy 用に、アプリケーションの WEB-INF フォルダーまたは META-INF フォルダーに policy-attachments-server.xml を置きます。

タスクの結果

アプリケーションにパッケージされた WSDL ファイルなしで、ポリシー添付を介して WS-Policy を定義しました。

トピックのタイプを示すアイコン タスク・トピック



タイム・スタンプ・アイコン 最終更新: Tuesday, 6 December 2016
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=twlp_dep_policyattach
ファイル名: twlp_dep_policyattach.html