ヘッダーをスキップ
Oracle Application Serverリリース・ノートおよび新機能
10gリリース3(10.1.3.4)
B50870-02
  目次
目次
索引
索引

戻る
戻る
 
次へ
次へ
 

7 Oracle Web Services Manager

この章では、Oracle Web Services Managerに関連する問題について説明します。内容は次のとおりです。

7.1 SOAP 1.2のサポート

SOAP 1.2のサポートが、次のOracle Web Services Managerエージェント用にこのパッチ・セットに追加されています。

次のOracle Web Services Managerコンポーネントでは、引き続きSOAP 1.1のみがサポートされます。

7.2 UDDIレジストリからのWebサービスのインポートに対する制限の増加

UDDIレジストリから一度にインポートできるWebサービスの最大数は、500 Webサービスに増加されました。

7.3 WSDLに他のWSDLまたはXSDがインポートされるOracle WSM GatewayへのWebサービスの登録

WSDLには、他のWSDLSまたはXSDが含まれる場合があります。Webサービスの登録中、またはOracle Web Service Manager Gatewayを介した仮想Webサービスへのアクセス中に、Oracle Web Services Managerでは、インポートされたWSDLまたはXSDのURLを絶対仮想URLに変換します。これにより、インポートされたWSDLおよびXSDがセッション依存のURLに変換されていたこれまでの問題が修正されます。

7.4 WSDLに<include>文を使用して他のWSDLおよびXSDが含まれるOracle WSM GatewayへのWebサービスの登録

WSDLには、<import>または<include>要素のいずれかを使用して、他のWSDLまたはXSDが含まれている場合があります。このパッチ・セットより前には、Oracle Web Services Managerでは、<import>要素のみがサポートされていました。このパッチ・セットでは、<include>要素のサポートが追加されました。

<include>要素と<import>要素は、問合せパラメータを使用してURLを指定できます。次に例を示します。

<import location="http://HRBenefits:7493/MySchemaStore.asmx?schema=Document"/>

Oracle Web Services Managerでは、インポートされたWSDLまたはXSDをフェッチし、正しい拡張機能を持つように変換します。

7.5 Webブラウザで一部の言語を表示できない

Web Services Manager Controlアプリケーション用のWebブラウザにInternet Explorer 7.xを使用する場合、次のロケールが表示できない場合があります。

WebブラウザにFirefox 2.xを使用する場合は、ロケールko-KRの韓国語(韓国)を表示できない可能性があります。

回避方法は、Webブラウザの言語設定から、コンテンツを表示する言語を除く他のすべての言語を削除することです。たとえば、コンテンツを日本語で表示する場合、言語設定のエントリはja-JPのみにします。

7.6 Oracle WSM Gatewayを使用した、非SOAPのXMLベースWebサービスとしてのSOAPベースWebサービスへのアクセス

『Oracle Web Services Manager User and Administrator Guide』では、Oracle WSM Gatewayを介して、非SOAPのXMLベースWebサービスとしてSOAPベースのWebサービスにアクセスする方法については記述されていません。Oracle WSM Gatewayに登録されたWebサービスはすべて、SOAPおよび非SOAPのWebサービスとして仮想化されます。ただし、サービス登録詳細ページには、仮想化されたSOAP URLのみが表示されます。

非SOAPの仮想化URLは、URL内のservicesキーワードをxmlキーワードに置き換えることで、仮想化されたSOAP URLと区別できます。

たとえば、SOAPの仮想化エンドポイントの場合は、次のようになります。

http://host:port/gateway/services/SID0003001

非SOAP XMLサービス・エンドポイントは、次のようになります。

http://host:port/gateway/xml/SID0003001

7.7 ポリシーの消去用コマンドライン・インタフェース

次のコマンドにより、古いバージョンのポリシーがOracle Web Services Manager Policy Managerから削除されます。このコマンドを使用すると、不要になった古いバージョンのポリシーを永久に削除されます。

構文

wsmadmin purgePolicies component_ID policy_version

パラメータ 説明
component_ID Web Services Manager AgentまたはGatewayのID。
policy_version ポリシーのバージョン番号。バージョン番号policy_version未満のポリシーは消去されます。

使用方法

policy_versionで指定したバージョン番号が現行のアクティブ・ポリシーより大きい場合、現行のアクティブ・ポリシー以外のすべてのポリシーが消去されます。たとえば、現行のアクティブ・ポリシーのバージョン番号が5で、policy_versionを6に設定してwsmadmin purgePoliciesを実行した場合、バージョン1〜4は消去されます。バージョン5は消去されず、アクティブ・ポリシーとして残ります。

ポリシー・バージョン番号は正数です。policy_versionに負数が指定されていると、ポリシーは消去されません。

7.8 Oracle Webサービス・ポリシーのエクスポート用コマンドライン・インタフェース

Web Services Manager Controlアプリケーションは、XMLファイルに設定されたポリシーをエクスポートする方法を提供します。Oracle Application Server 10gリリース3(10.1.3.4)以降、この機能に相当するコマンドライン・インタフェースが用意されました。このコマンドにより、1つのコンポーネントに対して複数のポリシーを一度にエクスポートできます。ポリシーはポリシー施行ポイントとパッケージ化できるため、Oracle WSM AgentまたはGatewayでは、ポリシーを取得するためにOracle WSM Policy Managerと通信する必要がありません。


注意:

テスト、ステージングおよび本番の環境間でポリシーを移行するコマンドを使用しないでください。かわりに、Oracle WSMオブジェクトをエクスポートおよびインポートするコマンドのセットを使用します。環境間でのポリシーの移行の詳細は、7.12.3項「Oracle Web Servicesのコンポーネントおよびポリシーの移行」を参照してください。

コンポーネントのポリシーをエクスポートする手順

  1. 次のプロパティをORACLE_HOME/owsm/bin/coresv.propertiesファイルで追加または編集します。

    プロパティ 説明
    pm.server.httpScheme Policy Managerが実行されているトランスポート。有効値はhttpおよびhttpsです。
    pm.server.httpHost Policy Managerが実行されているホストの名前。
    pm.server.httpPort Policy Managerがリクエストをリスニングするポート。

  2. Oracle Web Services Managerインスタンスが起動され、実行中であることを確認します。

  3. Microsoft Windowsでは、ORACLE_HOME\owsm\binディレクトリから、ポリシーをエクスポートするために次のコマンドを実行します。

    wsmadmin exportPolicySet component_ID
    

    変数component_IDは、ポリシーがエクスポートされるOracle Web Services GatewayまたはAgentのコンポーネントIDです。

ポリシーは、ORACLE_HOME/owsm/bin/coresv.propertiesファイルで設定されているdb.export.dirプロパティで定義したディレクトリにエクスポートされます。ファイル名は、PolicySet-component_ID-timestamp.xmlとして動的に生成されます。変数component_IDは、wsmadmin exportPolicySetコマンドで指定されるコンポーネントIDです。エクスポートのタイムスタンプは、エクスポートされたポリシーをさらに識別するために、ファイル名に追加されます。

7.9 Web Services Manager Control認証のためのMicrosoft Active Directoryの使用方法

Microsoft Active Directoryを使用してWeb Services Manager Controlにログインする管理者を認証できるようになりました。

Microsoft Active Directoryを使用してユーザーを認証するには、ORACLE_HOME/owsm/config/ui-config-installer.propertiesファイルでプロパティを編集します。

ui-config-installer.propertiesファイルの例の一部を次に示します。

. . .
ui.authentication.provider=com.cfluent.accessprovider.ldap.ActiveDirectoryAuthProvider
ui.authentication.provider.properties=\
ldapHost=139.185.17.7|\
ldapPort=389|\
ldapSSLEnabled=false|\
ldapSSLPort=636|\
ldapDN=dc=vanadium,dc=us,dc=oracle,dc=com|\
roleAttribute=testgroup|\
ldapDNSDomainName=vanadium.us.oracle.com|\
ldapUidAttribute=sAMAccountName|\
. . .

表7-1では、ui-config-installer.propertiesファイルのプロパティについて説明しています。

表7-1 ui-config-installer.propertiesファイルのプロパティ

プロパティ 説明

ui.authentication.provider

Active Directoryを使用してユーザーを認証するクラスの名前。これは、com.cfluent.accessprovider.ldap.ActiveDirectoryAuthProviderに設定する必要があります。

ldapHost

Active Directory Serverが稼働しているマシンのホスト名。

ldapPort

Active Directory Serverがリクエストをリスニングするポート。

ldapDN

LDAPドメイン名。

ldapSSLEnabled

SSLがActive Directory Serverに対して有効かどうかを指定します。

ldapSSLPort

SSLが有効の場合、Active Directoryがリクエストをリスニングするポート。

roleAttribute

LDAPグループでユーザーを識別するLDAP属性名。

ldapDNSDomainName

Active Directory Serverの完全修飾ドメイン名。

ldapUidAttribute

Active Directory Serverを介して検索する際に使用される一意の識別子。これはsAMAccountNameに設定する必要があります。


7.10 ネームスペースの最適化によるAXIS 1.1および1.4クライアントでのメッセージ検証の失敗

この項の内容は次のとおりです。

7.10.1 制限の説明

ネームスペース接頭辞の最適化について、AXIS 1.1および1.4エージェントに既知の制限があります。デフォルトのネームスペース接頭辞を含む2つ以上のネームスペース接頭辞が、同じURNまたはURIを指す場合、ネームスペースからその接頭辞が削除されます。次のSOAPメッセージの例では、接頭辞nはデフォルトのネームスペースurn:Test:GetTimeを指しています。(参照するXMLコードは、太字で示されています。)

<?xml version="1.0" encoding="UTF-8"?>
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">
<soap:Body>
  <n:getTimeResponse xmlns:n="urn:Test:GetTime" xmlns="urn:Test:GetTime">
  <Result xmlns="urn:Test:GetTime" xsi:type="xsd:string">03:59 PM</Result>
  </n:getTimeResponse>
</soap:Body>
</soap:Envelope>

次の例は、メッセージが最適化された後の同じSOAPメッセージを示しています。n接頭辞が、getTimeResponse要素から削除されています。この接頭辞の最適化が署名付きメッセージで発生した場合、エージェントが署名の検証を試みると、メッセージが変更されているため検証は失敗します。

<?xml version="1.0" encoding="UTF-8"?>
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">
<soap:Body>
  <getTimeResponse xmlns:n="urn:Test:GetTime" xmlns="urn:Test:GetTime">
  <Result xmlns="urn:Test:GetTime" xsi:type="xsd:string">03:59 PM</Result>
  </n:getTimeResponse>
</soap:Body>
</soap:Envelope>

この制限は、次のポリシー・ステップのいずれかを使用するすべてのAXIS 1.1または1.4クライアント・エージェント・ポリシー、またはサーバー・エージェント・ポリシーに適用されます。

  • 署名の検証

  • 署名の複合化および検証

ネームスペースの最適化で、その他のOracle WSMポリシー・ステップには問題は発生しません。

次に、この制限が適用される1つのケースについて説明します。AXIS 1.4クライアント・エージェント・ポリシーには、メッセージの署名ポリシー・ステップがあります。クライアント・エージェントがポリシーを適用し、メッセージに署名した後、このメッセージはクライアント・アプリケーションに返されます。クライアント・アプリケーションではAXIS 1.4ライブラリを使用して、Webサービスに送信されるようにメッセージをシリアライズします。ネームスペース接頭辞がメッセージから削除されるのは、この変換時です。変換されたこのメッセージは、Webサービスに渡され、AXIS 1.4サーバー・エージェントによりインターセプトされます。サーバー・エージェント・ポリシーには、署名の検証ポリシー・ステップがあります。サーバー・エージェントでポリシー・ステップがメッセージに適用されると、検証は失敗します。

7.10.2 AXIS 1.1エージェントのための回避方法

AXIS 1.1サーバー・エージェントおよびクライアント・エージェントのための回避方法としては、APPLICATION_HOME\WEB_INF\libディレクトリにあるaxis.jarファイルをORACLE_HOME\owsm\lib\extlib\axis.jarファイルで置き換えます。

7.10.3 AXIS 1.4エージェントのための回避方法

この制限を回避する方法としては、最適化によって生じた変更を無効にするカスタム・ステップをポリシーに追加します。このカスタム・ステップ、汎用メッセージの更新は、署名の検証ステップまたは署名の復号化と検証ステップのいずれかが含まれるポリシーすべてに追加する必要があります。カスタム・ステップでは検索および置換が行われ、指定した文字列を検索し、指定したネームスペース接頭辞をその文字列に追加します。

7.10.3.1 カスタム・ステップのOracle WSMコンポーネントでの有効化

カスタム・ステップをポリシーに追加するには、汎用メッセージの更新カスタム・ステップを、この回避方法が必要な各コンポーネントで有効にする必要があります。

カスタム・ステップをOracle WSMコンポーネントに追加する手順

  1. Web Services Manager Controlのナビゲーション・ペインから、「ポリシー管理」をクリックし、次に「ポリシーの管理」をクリックします。

  2. カスタム・ステップを追加する必要のあるコンポーネントの「ステップ」をクリックします。

  3. 「ステップ管理」ページで、「新規ステップの追加」をクリックし、ORACLE_HOME\owsm\samples\customsteps\GenericMessageUpdateStep.xmlをコンポーネントに追加します。

  4. 「アップロード」をクリックします。

7.10.3.2 Oracle WSMアプリケーションへのJavaクラスの追加

汎用メッセージの更新カスタム・ステップのJavaクラスは、このカスタム・ステップを使用するすべてのアプリケーションに追加する必要があります。

カスタム・ステップ・クラス・ファイルをアプリケーションに追加する手順

  1. Apache Antを使用してGenericMessageUpdateStep.javaをコンパイルします。

    1. ORACLE_HOME\owsm\samples\customsteps\GenericMessageUpdateStepディレクトリに移動します。

    2. ORACLE_HOME環境変数をSOAインストールのインストール・ディレクトリに設定し、Antホーム・ディレクトリを自身のパスに追加します。

    3. コマンドant jarを実行します。

    このコマンドにより、次の場所のGenericMsgUpdateStep.jarがコンパイルされ、作成されます。

    ORACLE_HOME\owsm\samples\customsteps\GenericMessageUpdateStep\dist\lib

  2. 必要に応じて、JARファイルを次の場所にコピーします。

    コンポーネント JARファイルのコピー先
    Oracle WSM Client Agent APPLICATION_HOME\WEB-INF\config\clientagent\framework\lib
    Oracle WSM Server Agent APPLICATION_HOME\WEB-INF\config\serveragent\framework\lib

7.10.3.3 汎用メッセージの更新ステップをポリシーに追加

汎用メッセージの更新ステップは、クライアント・エージェントおよびサーバー・エージェントのポリシー内で、署名の検証ステップの前、および署名の復号化と検証ステップの前に追加する必要があります。次に、変換情報を使用してポリシー・ステップを構成します。7.12.1項で説明する例では、クライアント・エージェント・ポリシーにはメッセージの署名ポリシー・ステップが、サーバー・エージェントには対応する署名の検証ステップがあります。どのネームスペース接頭辞が影響を受けるかを確認するには、次の操作を行います。

  • クライアント・エージェント・ポリシーでは、メッセージの署名ポリシー・ステップの後にログ・ポリシー・ステップを追加します。

    このログ・ポリシー・ステップで、最適化の発生前にメッセージを取得します。

  • サーバー・エージェント・ポリシーでは、署名の検証ポリシー・ステップの後にログ・ポリシー・ステップを追加します。

    このログ・ポリシー・ステップで、最適化の発生後にメッセージを取得します。

ログを比較することで、ネームスペース接頭辞の最適化により、メッセージがどのように変更されたかを確認できます。

ポリシーにカスタム・ステップを追加する手順

  1. Web Services Manager Controlから、「ポリシー管理」をクリックし、次に「ポリシーの管理」をクリックします。

  2. カスタム・ステップを必要とするコンポーネントの「ポリシー」をクリックします。

  3. カスタム・ステップを追加する必要のあるポリシーの「編集」をクリックします。

  4. 署名の検証ステップまたは署名の復号化と検証ステップの前に、汎用メッセージの更新ステップを追加します。

  5. 「構成」をクリックして、汎用メッセージの更新ステップを構成します。

  6. メッセージの更新パラメータ・テキスト・ボックスに、置換対象の文字列と、置換文字列を次の書式で入力します。

    string=replace_with_string

    7.12.1項では前述の例を使用して、次のように入力します。

    getTimeResponse=n:getTimeResponse

    カンマを使用して複数のエントリを区切ります。

7.11 資格証明の抽出ポリシー・ステップのドキュメントに対する訂正

『Oracle Web Services Manager User and Administrator Guide』の付録A「Oracle Web Services Manager Policy Steps」で、資格証明の抽出ポリシー・ステップの記述に誤りがありました。2つのプロパティの正しい記述は、次のとおりです。

7.12 新機能

この項では、Oracle Web Services Manager 10.1.3.4の新機能について説明します。この項の内容は次のとおりです。

7.12.1 AXISエージェントのサポート

Oracle Application Server 10g(10.1.3.4)から、Oracle WSMで次のAXISエージェントのサポートが追加されました。

  • AXIS 1.1および1.4クライアント・エージェント

  • AXIS 1.4サーバー・エージェント

『Oracle Web Services Managerデプロイメント・ガイド』の第6章「Oracle WSM Agentのインストール」に記載された手順に従い、AXIS 1.1および1.4エージェントをインストールします。エージェントのAXISバージョンは同じであることが必要です。つまり、AXIS 1.1クライアント・エージェントは、AXIS 1.1サーバー・エージェントとのみ使用でき、AXIS 1.4クライアント・エージェントはAXIS 1.4サーバー・エージェントとのみ使用できます。

DIMEおよびMIME添付ファイルは、AXIS 1.1クライアント・エージェントではサポートされていません。MIME添付ファイルは、AXIS l.4クライアント・エージェントでサポートされていますが、DIME添付ファイルはサポートされていません。

AXIS 1.1および1.4クライアント・エージェントでの既知の制限とこの制限の回避方法の詳細は、7.10項「ネームスペースの最適化によるAXIS 1.1および1.4クライアントでのメッセージ検証の失敗」を参照してください。

7.12.2 Oracle Web Services Managerのクローニング

Oracle Application Server 10gの以前のリリースでは、Oracle Application Server中間層のクローニングはサポートされていましたが、Oracle WSMをクローニングできませんでした。Oracle Application Server 10gリリース3(10.1.3.4)から、Oracle Web Services ManagerのクローニングがOracle Application Serverに追加されました。

この新機能の詳細は、『Oracle Web Services Manager管理者ガイド』の第10章「Oracle WSMのクローニングおよび水平移行」を参照してください。

7.12.3 Oracle Web Servicesのコンポーネントおよびポリシーの移行

Oracle Web Services Managerでは、選択したコンポーネントおよびポリシーを環境間で移行する方法が提供されています。

テスト、ステージングおよび本番の環境間で次のオブジェクトを移行できます。

  • 単一または複数のポリシー

  • Oracle Web Services Manager Gateway、Server AgentおよびClient Agentを含むOracle Web Services Managerコンポーネント

  • Oracle Web Services Manager Gatewayに登録されたサービス

  • カスタム・ステップのテンプレート

この新機能の詳細は、『Oracle Web Services Manager管理者ガイド』の第10章「Oracle WSMのクローニングおよび水平移行」を参照してください。