Oracle® Fusion Middleware Oracle Fusion Middleware Infrastructureリリース・ノート 12c (12.2.1) E69917-02 |
|
前 |
この章では、Oracle Web Services Managerを含むWebサービス開発、セキュリティおよび管理に関連する問題について説明します。
内容は次のとおりです。
2つのサーバーがSSL対応(双方向SSL)である場合にFusion Middleware Controlにポリシーがリストされない
OWSMの「ドメイン構成」ページの「認証」タブでSAML信頼を編集した後に「適用」/「元に戻す」ボタンがアクティブ化されない
サポートされていない「接続」ポリシー/「アサーション・テンプレート」カテゴリがFusion Middleware Controlに表示される
WebServiceRef注釈を含む、11gでビルドされたOracle Infrastructure Webサービス・アプリケーションが失敗する
注意: WebLogic Webサービスの詳細は、『Oracle Fusion Middleware Oracle WebLogic Serverリリース・ノート』のWebサービスとXMLの問題と回避策に関する項を参照してください。 |
WeblogicおよびOracle SOA Suiteを11gから12cリリース12.13以上にアップグレードする際、マルチ・データ・ソースとして構成されているmds-owsmデータソースが11gインスタンスで使用されていると、Upgrade Assistantが次のエラーで失敗します。
WSM] [INCIDENT_ERROR] [] [upgrade.WSM.WSMPLUGIN] [tid: 63] [ecid: 235be93f-e646-47fb-b960-34947fed8f86-00000001,0] [[ oracle.ias.update.exception.UpgradeException: WSMERROR-00015: Failed to read the Oracle WSM datasource connection details. at oracle.wsm.lifecycle.upgrade.impl.WSMUpgradePlugin.initializePluginData(WSMUpgradePlugin.java:227) at oracle.wsm.lifecycle.upgrade.impl.WSMUpgradePlugin.upgrade(WSMUpgradePlugin.java:263) at oracle.ias.update.plugin.Plugin.upgrade(Plugin.java:576) at oracle.ias.update.plan.PlanStep.upgrade(PlanStep.java:377) at oracle.ias.update.UpgradeDriver.doUpgrades(UpgradeDriver.java:947) at oracle.ias.update.gui.UAUpgradeThread.run(UAUpgradeThread.java:41)
注意: このエラーは、パッチ19865550を適用して"AN UNSUPPORTED MULTIDATASOURCE"メッセージが表示されなくなった後でも発生します。 |
この問題を回避するには、次の手順を実行します。
mds-owsmデータ・ソースをマルチ・データ・ソースから汎用データ・ソースに変更します。
アップグレード・アシスタントを実行します。
アップグレードが正常に完了したら、必要に応じてデータ・ソースを元の構成に戻します。
Oracle Web Services Managerは、MDSリポジトリを使用してポリシー、アサーション・テンプレート、ポリシーの使用状況データなどのメタデータを格納します。
Oracle Web Services Manager 12c (12.2.1)は、セキュリティが強化されたOracle Databaseによってサポートされるリポジトリとの組合せで動作することが確認されています。
リポジトリの詳細は、Oracle Web Services ManagerによるWebサービスの保護とポリシーの管理のOWSMリポジトリの管理に関する項を参照してください
このリリースでは、マルチバイトのユーザー資格証明はwss_http_token_*
ポリシーでサポートされていません。マルチバイトのユーザー資格証明が必要な場合、wss_username_token_*
ポリシーなどの別のポリシーを使用します。利用可能なポリシーの詳細は、『Oracle Web Services ManagerによるWebサービスの保護とポリシーの管理』の事前定義ポリシーに関する項を参照してください。
ポリシーのMDSリポジトリへの一括インポート時、操作が初めに成功しなかった場合、一括インポートが成功するまで操作を再試行します。
ほとんどの場合、これは、Oracle RACデータベースでメタデータのアップロード時にデータベースが切り替えられるときに起こります。Oracle RACデータベースにn個のデータベースがある場合、この操作をn回再試行する可能性があります。
ポリシーの一括インポートの詳細は、『Webサービスの管理』のポリシーの移行に関する項を参照してください。
AdfConnection
MBeanを使用したデプロイ後にconnections.xml
ファイルを変更すると、完全な接続がカスタマイズとして保存されます。つまり、再デプロイされたアプリケーションの接続に対する変更は、カスタマイズによって上書きされます。
Fusion Middleware Controlを使用してデプロイ後にアプリケーションのconnections.xml
ファイルを変更すると、新しいconnections.xml
ファイルがカスタマイズとして作成され、MDSリポジトリに格納されます。このカスタマイズは、アプリケーションの有効期間中は保持されます。したがって、アプリケーションを再デプロイしても、カスタマイズされたconnections.xml
ファイルは、引き続きアプリケーションに対するカスタマイズとして適用されます。
(Fusion Middleware Controlによる)前のカスタマイズではなく、再デプロイされたアプリケーションのconnections.xml
ファイルを適用するには、MDSリポジトリから明示的にconnections.xml
のカスタマイズを削除する必要があります。
たとえば、Webサービスのデータ・コントロールを含むアプリケーションをデプロイする場合、Fusion Middleware Controlを使用してusername_token_client_policy
をアタッチし、続けてポリシーをデタッチします。次に、JDeveloperに戻ってアプリケーションを編集し、http_token_client_policy
をアタッチしてアプリケーションを再デプロイします。Fusion Middleware Controlを使用してアプリケーションを表示すると、アタッチしたhttp_token_client_policy
が使用されていないことがわかります。これは、Fusion Middleware Controlを使用して前に作成したカスタマイズ済のconnections.xmlファイルが使用されていることが原因です。
MDSリポジトリからconnections.xmlのカスタマイズを削除すると、アプリケーションでは独自のconnections.xml
ファイルが使用されます。
このリリースのOracle Enterprise Managerでは、次の情報は英語でのみサポートされます。
ポリシーおよびアサーション・テンプレートのorawsp:displayName
フィールド以外のすべてのフィールド。
?orawsdl
ブラウザ・アドレスを使用する場合のorawsp:description
フィールド。
管理対象サーバーが双方向SSL対応の場合(たとえば、双方向SSLを介してOWSMポリシー・マネージャをホストするSOAサーバーなど)、Fusion Middleware Controlをホストする管理サーバーがその双方向SSL対応の管理対象サーバーにアクセスするよう正しく構成されていても、Fusion Middleware ControlにはOWSMポリシーがリストされません。
SOAPヘッダーにバインドされた入力引数を持つWebサービスでは、Fusion Middleware Controlコンソールの「Webサービスのテスト」ページにメッセージが表示されません。したがって、このような操作は、「Webサービスのテスト」ページではテストできません。
たとえば、マルチパートWSDLの入力をFusion Middleware Controlを通じて表示する場合、一方の入力引数がSOAPヘッダーにバインドされていると、他方のメッセージが入力から欠落するため、コンポジット・インスタンスは次の例外とともに失敗します。
ORAMED-01203:[No Part]No part exist with name "request1" in source message
この問題を解決するには、入力引数のXML表示を選択し、WSDLの2つのパートの入力を渡せるようにペイロードを編集します。
一部の状況では、カスタムExactly-oneポリシーの使用時に制限が発生します。Exactly-oneポリシー内のアサーションのセットで、リクエスト・メッセージが最初のアサーションに一致した場合、最初のアサーションが実行され、対応するレスポンスが送信されます。ただし、一部の状況では、リクエストが後続のアサーションとの一致を意図しているために、この動作では適切でないことがあります。
たとえば、Timestamp=ON
であるクライアント・ポリシーと、メッセージ保護アサーション(1つ目はTimestamp=OFF
、2つ目はTimestamp=ON
)付きのwss11 username token
を持つサービスexactly-oneポリシーがあるとします。したがって、サービスexactly-oneポリシー内の1つ目のアサーションはリクエスト内のタイムスタンプを予期していませんが、2つ目のアサーションは予期しています。この場合、1つ目のアサーションが実行されると、レスポンスはタイムスタンプなしで送信されます。しかし、クライアント側の処理は、リクエストで送信されたタイムスタンプを予期しているため、失敗します。
この制限は、クライアント・ポリシーでより多くの数の要素が署名されるとみなされる一方で、サービス・ポリシーではそれに対応していない場合に発生する可能性があります。
コンポーネント認可denyall
ポリシーは、サブスクライバ・メディエータ・コンポーネントで機能しません。認可ポリシーは、他の通常のメディエータ・コンポーネントで機能します。
Fusion Middleware ControlでWebサービス・アプリケーションを選択し、Webサービス・エンドポイントにナビゲートします。「アタッチ/デタッチ」ページでエンドポイントにポリシーをアタッチします。場合によっては、一部のロケール(zh-cn
、zh-tw
、ja
、pt-br
、es
、fr
、ko
)でアタッチされているポリシーが「直接アタッチされたポリシー」表に表示されない可能性があります。
回避策としては、列のサイズを大きくします。
Webサービスで参照されるポリシーが削除されてから再度インポートされる場合、その使用状況数は正確でないため、アプリケーションを再起動して正確な使用状況数を取得する必要があります。
不要なロールの問合せを削除することで、Fusion Middleware ControlのWebサービス・ポリシー・ページのパフォーマンスが改善されています。
現在のリリースでは、一括アタッチ機能を使用して1つ以上のポリシーを1つ以上のWebサービスにアタッチすることはサポートされていません。かわりに、ポリシー・セット機能を使用します。ポリシー・セットの詳細は、『Oracle Web Services ManagerによるWebサービスの保護とポリシーの管理』のWLSTを使用したポリシー・セットによるポリシーのグローバルなアタッチに関する項とポリシー・セットに対するスキーマ参照に関する項を参照してください。
Enterprise Managerでクライアント・ポリシーを生成すると、「クライアント・ポリシーの生成」ページが表示され、生成したポリシーは保存されていないと表示されます。ポリシーを保存してからそれらのいずれかを編集すると、「OWSMポリシー」ページに戻ります。これはEnterprise Managerのエラーです。本来は「クライアント・ポリシーの生成」ページに戻る必要があります。
他のポリシーを編集するには、「OWSMポリシー」ページの検索機能を使用して、編集するクライアント・ポリシーを検索します。
詳細は、『Oracle Web Services ManagerによるWebサービスの保護とポリシーの管理』のWSDLからのクライアント・ポリシーの生成に関する項を参照してください。
KSS用にOWSMキーストアを構成してからJKSキーストアを構成しようとすると、JKS構成画面の「パス」フィールドと「キー」メニューにKSSキーストアの値が入力されます。
回避策: JKSキーストアを構成する前に、JKS構成画面の「パス」および「キー」フィールドを消去します。OWSMでのJKSキーストアの構成の詳細は、『Oracle Web Services ManagerによるWebサービスの保護とポリシーの管理』のJKSキーストアを使用するためのOWSMの構成に関する項を参照してください。
ポリシー・マネージャURLがクラスパスとして構成されている場合、ドメインレベルの構成はサポートされていません。すべてのドメインレベルの構成情報は、クラスパスに含まれるJARファイルではなく、OWSMリポジトリに格納されています。ポリシー・マネージャURLの構成の詳細は、『Oracle Web Services ManagerによるWebサービスの保護とポリシーの管理』の次の項を参照してください。
「Fusion Middleware Controlを使用したポリシー・マネージャの接続の構成」
「WLSTを使用したポリシー・マネージャの接続の構成」
ドメインレベルの構成を管理する場合は、リモート・ドメインを指定するか、auto
モードを使用するようにポリシー・マネージャURLを構成します。新しいポリシー・マネージャURLモードを構成したら、サーバーを再起動してそれを有効にする必要があります。
OWSMの「ドメイン構成」ページの「認証」タブでSAMLの信頼できる発行者とDNリストを編集する場合、『Oracle Web Services ManagerによるWebサービスの保護とポリシーの管理』のFMCを使用したSAMLの信頼できる発行者とDNリストの構成に関する項に示すように、このページで別のフィールドを編集するまで「適用」および「元に戻す」ボタンがアクティブ化しません。必要に応じて、ボタンをアクティブ化するために別のフィールドで「ダミー」編集を行います。
『Oracle Web Services ManagerによるWebサービスの保護とポリシーの管理』の例による問合せフィルタの使用に関する項(Webサービス・ポリシー用)と例による問合せフィルタの使用に関する項(アサーション・テンプレート用)で、特定のフィールドを問い合せてポリシーとアサーション・テンプレートを検索する方法について説明しています。この機能は現在のリリースでは動作しません。
回避策: この問題を回避するには、『Oracle Web Services ManagerによるWebサービスの保護とポリシーの管理』の拡張検索の使用に関する項(Webサービス・ポリシー用)および拡張検索の使用に関する項(アサーション・テンプレート用)に従って、拡張検索ユーティリティを使用します。
以前のリリースでは、OWSMは異なるエラーに対して異なるフォルト・コード(FailedAuthentication
、InvalidSecurityToken
、FailedCheck
など)を送信していましたが、現在のリリースでは、このデフォルトの動作が変更されています。OWSMは、すべてのエラーに対してInvalidSecurity
フォルト・コードを送るようになりました。これは、XML暗号への攻撃を回避するためです。サービスが異なるタイプのエラーに対して異なるフォルト・コード(FailedAuthentication
、InvalidSecurityToken
、FailedCheck
など)を送信する場合、暗号への攻撃が可能です。このデフォルトの動作は、ドメイン全体のエージェント・プロパティuse.unified.fault.code
をfalse
に設定することで変更できます。ただし、これによってXML暗号への攻撃が可能になる場合があるため、お薦めしません。このプロパティのデフォルト値「true
」では、OWSMはすべてのエラーに対してInvalidSecurity
フォルト・コードを送信します。use.unified.fault.code
プロパティの詳細は、『Oracle Web Services ManagerによるWebサービスの保護とポリシーの管理』のWLSTを使用したセキュリティ・ポリシーの強制の構成に関する項を参照してください。
OWSMはOracle Virtual Assembly Builder用に、インストールされたOracleコンポーネントを仮想化して変更した後、Oracle VM環境にデプロイするためのツール、イントロスペクション・プラグインを提供します。詳細は、『Oracle Web Services ManagerによるWebサービスの保護とポリシーの管理』のOracle Virtual Assembly Builder用OWSMイントロスペクション・プラグインに関する項を参照してください。
OWSMイントロスペクション・プラグインは、abctl
introspectWLS12
コマンドまたはOracle Virtual Assembly Builder Studio (abstudio.sh
)を使用してWebLogicドメインのイントロスペクションを行う場合に実行されます。このイントロスペクションは、次の条件で失敗する場合があります。
管理サーバーのリスニング・アドレスが、localhost
とは異なる特定のアドレスでリスニングするように構成されている場合。
回避策:
Oracle WebLogic Server管理コンソール・オンライン・ヘルプのリスニング・アドレスの構成に関する項に従って、管理コンソールで管理サーバーのリスニング・アドレスを消去し、ローカル・アドレスを有効にします。
管理サーバーのリスニング・アドレスをlocalhost
に設定します。
イントロスペクション中にプロキシ設定を実行する場合。ネットワーク環境にプロキシ・サーバーが必要で、イントロスペクションを実行するために使用するツール(abctl
やabstudio.sh
など)でプロキシ構成を利用できない場合、このイントロスペクションは失敗することがあります。
回避策:
abstudio.sh
を使用してイントロスペクションを行う場合、localhost
に対するプロキシ設定をバイパスする必要があります。プロキシ構成の詳細は、『Oracle Virtual Assembly Builderリリース・ノート』を参照してください。
abctl
を使用してイントロスペクションを行う場合、Javaアプリケーション用の標準プロキシ構成プロパティを使用します。abctl
コマンドを発行する前に、SYSPROPS
環境変数を使用して環境にプロパティを設定し、localhost
に対するプロキシ設定をバイパスします。たとえば、使用しているシェルに応じて次のいずれかのコマンドを使用します。
csh: setenv SYSPROPS '-Dhttp.proxyHost=
myProxyHost
-Dhttp.proxyPort=
NN
-Dhttp.nonProxyHosts=localhost|
n.n.n.n
sh/bash/ksh: export SYSPROPS '-Dhttp.proxyHost=
myProxyHost
-Dhttp.proxyPort=
NN
-Dhttp.nonProxyHosts=localhost|
n.n.n.n
注意: 実際のプロキシ設定は環境固有です。 |
今回のリリースでは、リモート・ドメインでのポリシー・マネージャの構成はサポートされていません。
次のUSERNAME_ID_PROPAGATION
ポリシーはリリース12c (12.2.1)では非推奨です。
wss10_username_id_propagation_with_msg_protection_client_policy wss10_username_id_propagation_with_msg_protection_service_policy
これらのポリシーの詳細は、Oracle Web Services ManagerによるWebサービスの保護とポリシーの管理のOracle Web Services Managerの事前定義済ポリシーに関する項を参照してください。
表7-1に、Oracle Fusion Middleware 11gリリースで利用可能で、12c (12.1.2)で非推奨になったOracle Infrastructure Webサービス(またはクライアント)のWLSTコマンドを示します。また、この表には、同等の新しいWLSTコマンドと、新しいコマンドを使用したコードに更新する方法の例を示します。
WLSTコマンドの詳細は、『インフラストラクチャ・コンポーネントのためのWLSTコマンド・リファレンス』のWebサービスのカスタムWLSTコマンドに関する項を参照してください。
表7-1 Oracle Infrastructure Webサービスの非推奨コマンド
非推奨コマンド(11g) | 推奨コマンド(12c) | コードの更新 |
---|---|---|
|
|
11gリリース(リポジトリ操作用):
wls:/jrfServer_domain/serverConfig> abortRepositorySession()
12cリリース(リポジトリとポリシー・サブジェクトの両方の操作用):
wls:/jrfServer_domain/serverConfig> abortWSMSession()
|
|
|
11gリリース:
wls:/jrfServer_domain/serverConfig> attachPolicySet ('Domain("base_domain")')
12cリリース:
wls:/jrfServer_domain/serverConfig> setWSMPolicySetScope ('Domain("base_domain")')
|
|
|
11gリリース(ポリシー・セットに対するリポジトリとポリシー・サブジェクトの両方の操作用):
wls:/jrfServer_domain/serverConfig> attachPolicySetPolicy ('oracle/wss_username_token_service_policy')
12cリリース:
wls:/jrfServer_domain/serverConfig> attachWSMPolicy('oracle/wss_username_token_service_policy')
wls:/wls-domain/serverConfig> |
|
|
11gリリース(リポジトリ操作用):
wls:/jrfServer_domain/serverConfig> beginRepositorySession()
12cリリース(リポジトリとポリシー・サブジェクトの両方の操作用):
wls:/jrfServer_domain/serverConfig> beginWSMSession()
|
|
|
11gリリース:
wls:/jrfServer_domain/serverConfig> clonePolicySet ('myNewPolicySet', 'myPolicySet')
12cリリース:
wls:/jrfServer_domain/serverConfig> cloneWSMPolicySet ('myNewPolicySet', 'myPolicySet')
|
|
|
11gリリース(リポジトリ操作用):
wls:/jrfServer_domain/serverConfig> commitRepositorySession()
12cリリース(リポジトリとポリシー・サブジェクトの両方の操作用):
wls:/jrfServer_domain/serverConfig> commitWSMSession()
|
|
|
11gリリース:
wls:/jrfServer_domain/serverConfig> createPolicySet('myPolicySet', 'ws-service', 'Domain("base_domain")')
12cリリース:
wls:/jrfServer_domain/serverConfig> createWSMPolicySet ('myPolicySet', 'ws-service', 'Domain("base_domain")')
|
|
|
11gリリース:
wls:/jrfServer_domain/serverConfig> deletePolicySet('myPolicySet')
12cリリース:
wls:/jrfServer_domain/serverConfig> deleteWSMPolicySet ('myPolicySet')
|
|
|
11gリリース(リポジトリ操作用):
wls:/jrfServer_domain/serverConfig> describeRepositorySession()
11gリリース(ポリシー・サブジェクト操作用): N/A 12cリリース(リポジトリとポリシー・サブジェクトの両方の操作用):
wls:/jrfServer_domain/serverConfig> describeWSMSession()
|
|
|
11gリリース(ポリシー・セットに対するリポジトリとポリシー・サブジェクトの両方の操作用):
wls:/jrfServer_domain/serverConfig> detachPolicySet ('oracle/wss_username_token_service_policy')
12cリリース:
wls:/jrfServer_domain/serverConfig> detachWSMPolicy('oracle/wss_username_token_service_policy')
wls:/wls-domain/serverConfig> |
|
|
11gリリース:
wls:/jrfServer_domain/serverConfig> displayPolicySet('myPolicySet')
12cリリース:
wls:/jrfServer_domain/serverConfig> displayWSMPolicySet ('myPolicySet')
|
|
|
11gリリース:
wls:/jrfServer_domain/serverConfig> enablePolicySet(true)
12cリリース:
wls:/jrfServer_domain/serverConfig> enableWSMPolicySet(true)
|
|
|
11gリリース:
wls:/wls-domain/serverConfig>enablePolicySetPolicy('/oracle/log_policy',false)
12cリリース:
wls:/wls-domain/serverConfig>enableWSMPolicy('/oracle/log_policy',false)
wls:/wls-domain/serverConfig> |
|
|
11gリリース:
wls:/jrfServer_domain/serverConfig> exportRepository ("/tmp/repo.zip")
12cリリース:
wls:/jrfServer_domain/serverConfig> exportWSMRepository ("/tmp/repo.zip")
|
|
|
11gリリース(リポジトリ・ドキュメント用):
wls:/jrfServer_domain/serverConfig> importRepository ("/tmp/repo.zip")
12cリリース(リポジトリ・ドキュメント用):
wls:/jrfServer_domain/serverConfig> importWSMArchive ("/tmp/repo.zip")
|
|
|
11gリリース:
wls:/wls-domain/serverConfig>listPolicySets('sca-reference')
12cリリース:
wls:/wls-domain/serverConfig>listWSMPolicySets('sca-reference')
|
|
|
11gリリース:
wls:/jrfServer_domain/serverConfig> migrateAttachments()
12cリリース:
wls:/jrfServer_domain/serverConfig> migrateWSMAttachments()
|
|
|
11gリリース:
wls:/jrfServer_domain/serverConfig> modifyPolicySet('myPolicySet')
12cリリース:
wls:/jrfServer_domain/serverConfig> selectWSMPolicySet ('myPolicySet')
|
|
|
11gリリース:
wls:/jrfServer_domain/serverConfig> resetWSMPolicyRepository()
12cリリース:
wls:/jrfServer_domain/serverConfig> resetWSMRepository()
|
|
|
11gリリース
wls:/jrfServer_domain/serverConfig> setConfiguration('/WLS/myDomain')
12cリリース
wls:/jrfServer_domain/serverConfig> displayWSMConfiguration('WLS/base_domain')
|
|
|
11gリリース:
wls:/jrfServer_domain/serverConfig> setPolicySetConstraint ('HTTPHeader("VIRTUAL_HOST_TYPE","external")')
12cリリース:
wls:/jrfServer_domain/serverConfig> setWSMPolicySetConstraint ('HTTPHeader("VIRTUAL_HOST_TYPE","external")')
|
|
|
11gリリース:
wls:/jrfServer_domain/serverConfig> setPolicySetDescription ('Global policy set for web service endpoint.')
12cリリース:
wls:/jrfServer_domain/serverConfig> setWSMPolicySetDescription ('Global policy set for web service endpoint.')
|
|
|
11gリリース:
wls:/jrfServer_domain/serverConfig> setWebServicePolicyOverride ('/base_domain/server1/HelloWorld#1_0','j2wbasicPolicy', 'web', '{http://namespace/}WssUsernameService','JRFWssUsernamePort', 'oracle/wss_username_token_service_policy', 'reference.priority', '10')
12cリリース:
wls:/jrfServer_domain/serverConfig> setWSMPolicyOverride ('oracle/wss_username_token_service_policy', 'reference.priority', '10')
|
|
|
11gリリース(ポリシー・セットに対するリポジトリとポリシー・サブジェクトの両方の操作用):
wls:/jrfServer_domain/serverConfig> setPolicySetPolicyOverride ('oracle/wss_username_token_service_policy', 'reference.priority', '10')
12cリリース:
wls:/jrfServer_domain/serverConfig> setWSMPolicyOverride ('oracle/wss_username_token_service_policy', 'reference.priority', '10')
|
|
|
11gリリース:
wls:/jrfServer_domain/serverConfig> upgradeWSMPolicyRepository()
12cリリース:
wls:/jrfServer_domain/serverConfig> upgradeWSMRepository()
|
|
|
11gリリース:
wls:/jrfServer_domain/serverConfig> validatePolicySet ('myPolicySet')
12cリリース:
wls:/jrfServer_domain/serverConfig> validateWSMPolicySet ('myPolicySet')
|
Fusion Middleware Controlで、SOAP Webサービスを「Webサービスのテスト」ページでテストする際に、次のようにペイロードXMLファイルをインポートすると「ペイロードのインポート」オプションが正しい日付/日時タイプのパターンを生成しません。
「ツリー表示」 – 正しいパターンはYYYY-MM-ddTHH:mm:ss
またはYYYY-MM-dd
であるにもかかわらず、日時値が常にTue Dec 30 00:00:00 PST 2014
というようなUSパターンにフォーマットされます。
「XML表示」 – 2014-12-30-08:00
というように、インポートされた値の一部ではないサーバーのタイム・ゾーンが誤って常に日付に追加されます。
回避策:
インポートされた日付値および日時値を消去し、ペイロードを送信する前に手動で正しい値を入力します。
Fusion Middleware Controlで、SOAP Webサービスを「Webサービスのテスト」ページでテストする際に、「ペイロードの保存」オプションがロードしたペイロードをUTF-8形式ではなく、誤ったサーバーのロケール形式(ISO-8859-1)で保存します。
OWSMでSTS (Security Token Service)の自動ポリシー構成を使用すると、互換性のあるポリシーにならない場合があります。
回避策:
『Oracle Web Services ManagerによるWebサービスの保護とポリシーの管理』のWebサービス・クライアントからのSTS構成ポリシーの手動構成: 主な手順に関する項で説明されているように、Webサービス・クライアントからSTS構成ポリシーを手動で構成する必要があります。
Fusion Middleware Controlで、SOAP over JMSトランスポートを使用するWebサービスおよびクライアントにOWSMポリシーをアタッチする際に、利用可能なポリシーのリストに互換性のないものが含まれています。
互換性のあるポリシーのリストは、『Oracle Web Services ManagerによるWebサービスの保護とポリシーの管理』のどのOWSMポリシーがSOAP Over JMSトランスポートを使用するWebサービスおよびクライアントでサポートされているかに関する項を参照してください。
Fusion Middleware Controlで、OWSMポリシーおよびアサーション・テンプレートの「接続」カテゴリが、「WSMポリシー」および「アサーション・テンプレート」ページの検索ドロップダウン・メニューに含まれています。ただし、このカテゴリはサポートされていないため、表示されるべきではありません。
wsm-pmが実行されているWebLogicドメイン内のサーバーを他のドメインのサーバーを停止する前に停止すると、次の例外が表示されます。
<Error> <oracle.wsm.resources.policymanager> <WSM-02313> <The documents used by a policy subject cannot be recorded due to underlying error "Exception during invoke." java.rmi.NoSuchObjectException: Exception during invoke.
このエラーは、他のドメインのエージェントがwsm-pmとの対話を続けようとし、そのWebLogicサーバーが停止して対話できないために発生します。
デプロイされているWebLogicサーバーの停止によってwsm-pmが使用可能でない場合、これは想定どおりの動作です。ユーザーによる処置は必要ありません。
「SOAP Webサービス」または「SOAP Webサービス・クライアント」リソース・タイプについて非セキュリティ・ポリシー参照をアタッチしてポリシー・セットを作成すると、警告メッセージが表示されます。
"Non-Security policies do not apply to Java EE Web Services."
これは害のない警告メッセージで、無視できます。
次のドメイン構成ファイルは、新規12.2.1インストールとアップグレードしたWebCenter Portalとで異なります。
config/fmwconfig/audit-store.xml config/fmwconfig/jps-config.xml config/fmwconfig/jps-config-jse.xml
これは、アップグレード時に構成がwsm-config.xml
に移動されるが、jps-config.xml
を含む元のファイルから削除されないために起こります。機能に影響はなく、違いは無視しても問題ありません。
Oracle Infrastructure WebサービスではWebServiceRef
注釈はサポートされません。リリース11gで生成されたサンプル・コードにはこの注釈が含まれていました。生成されたこのサンプル・コードをアプリケーションに含めていた場合、注釈は無視されていたため、正常にビルドおよび実行されていました。12c (12.2.1)のJava EE 7のCDI実装ではすべての実装が処理されます。その結果、生成されたこれらのサンプル・クラス([Service]PortClient.java
)を含む、リリース11gでビルドされたアプリケーションは失敗します。
12cでビルドされたOracle Infrastructure Webサービス・アプリケーションにはこの注釈は含まれず、この問題は発生しないことに注意してください。
回避策
次のいずれかの解決方法を使用します。
問題のWebServiceRef
注釈をアプリケーションまたはライブラリ内の生成されたソース・コードから削除します。
11g Oracle Infrastructure WebサービスWSAの生成されたサンプル・クライアント・クラスでは、クラス名は常に<Port Name>Client.java
です。次のようにして注釈を削除できます。
ソース・コード内を検索して、"*Client.java"などの語を探します。または
ヘルパー・クラスを作成してJAR/WAR/EARコードを検索します。次に例を示します。
private final static Class DefaultAnnotationTypeClass = javax.xml.ws.WebServiceRef.class; private void findAnnotation(Class targetClass, Class annotationTypeClass) throws Exception { if (targetClass == null || annotationTypeClass == null) { return; } if (targetClass.getAnnotation(annotationTypeClass) != null) { throw new Exception("Found " + annotationTypeClass + " in class " + targetClass.getName()); } for (Field field : targetClass.getDeclaredFields()) { if (field != null && field.getAnnotation(annotationTypeClass) != null) { throw new Exception("Found " + annotationTypeClass + " in class " + targetClass.getName()); } } } ... findAnnotation( userPortClientClass , DefaultAnnotationTypeClass ); .
または
各WAR/JARファイルに、アプリケーションのCDI注釈スキャニングを無効にするbeans.xml
を提供します。CDI注釈スキャニングを無効にするために必要なbeans.xml
スニペットは次のとおりです。
<beans xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/beans_1_1.xsd" bean-discovery-mode="none"> </beans>
OPSS REST APIおよびOWSM REST APIのWADLが、XSLスタイルシートのロードが原因でブラウザから生成されません。
回避策
次のようなURLを指定してブラウザからWADLを生成するかわりに
http://myhost.mydomain.com:7001/idaas/platform/admin/v1/application.wadl http://myhost.mydomain.com:7001/idaas/webservice/admin/v1/application.wadl
Mozilla RESTクライアントを使用してこれらのURLを指定します。レスポンスにWADLのXMLコンテンツが含まれます。