5 Webサービス

この章では、Oracle Web Services Managerを含むWebサービス開発、セキュリティおよび管理に関連する問題について説明します。

次のトピックが含まれています:

ノート:

WebLogic Webサービスの問題を解決するには、『Oracle Fusion Middleware Oracle WebLogic Serverリリース・ノート』WebサービスおよびXMLの問題と回避策に関する項 を参照してください。

セキュリティが強化されたOracle Databaseによってサポートされるリポジトリの使用

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_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フィールド。

WebサービスのテストページでSOAPヘッダーにバインドされた入力引数をテストできない

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ポリシーの使用時に制限が発生します。Exactly-oneポリシー内のアサーションのセットで、リクエスト・メッセージが最初のアサーションに一致した場合、最初のアサーションが実行され、対応するレスポンスが送信されます。ただし、一部の状況では、リクエストが後続のアサーションとの一致を意図しているために、この動作では適切でないことがあります。

たとえば、Timestamp=ONであるクライアント・ポリシーと、メッセージ保護アサーション(1つ目はTimestamp=OFF、2つ目はTimestamp=ON)付きのwss11 username tokenを持つサービスexactly-oneポリシーがあるとします。したがって、サービスexactly-oneポリシー内の1つ目のアサーションはリクエスト内のタイムスタンプを予期していませんが、2つ目のアサーションは予期しています。この場合、1つ目のアサーションが実行されると、レスポンスはタイムスタンプなしで送信されます。しかし、クライアント側の処理は、リクエストで送信されたタイムスタンプを予期しているため、失敗します。

この制限は、クライアント・ポリシーでより多くの数の要素が署名されるとみなされる一方で、サービス・ポリシーではそれに対応していない場合に発生する可能性があります。

サブスクライバ・メディエータ・コンポーネントでセキュリティ・ポリシーが機能しない

コンポーネント認可denyallポリシーは、サブスクライバ・メディエータ・コンポーネントで機能しません。認可ポリシーは、他の通常のメディエータ・コンポーネントで機能します。

「Webサービス・ポリシー」ページのパフォーマンスの改善

不要なロールの問合せを削除することで、Fusion Middleware ControlのWebサービス・ポリシー・ページのパフォーマンスが改善されています。

現在のリリースではポリシーの一括アタッチはサポートされていない

現在のリリースでは、一括アタッチ機能を使用して1つ以上のポリシーを1つ以上のWebサービスにアタッチすることはサポートされていません。かわりに、「ポリシー・セット」機能を使用します。ポリシー・セットの詳細は、『Oracle Web Services ManagerによるWebサービスの保護とポリシーの管理』WLSTを使用したポリシー・セットによるポリシーのグローバルなアタッチに関する項ポリシー・セットに対するスキーマ参照に関する項を参照してください。

クラスパス・モードでドメイン構成はサポートされていない

ポリシー・マネージャURLがクラスパスとして構成されている場合、ドメインレベルの構成はサポートされていません。すべてのドメインレベルの構成情報は、クラスパスに含まれるJARファイルではなく、OWSMリポジトリに格納されています。ポリシー・マネージャURLの構成の詳細は、Oracle Web Services ManagerによるWebサービスの保護とポリシーの管理の次の項を参照してください。

ドメインレベルの構成を管理する場合は、リモート・ドメインを指定するか、autoモードを使用するようにポリシー・マネージャURLを構成します。新しいポリシー・マネージャURLモードを構成したら、サーバーを再起動してそれを有効にする必要があります。

XML暗号への攻撃の回避

以前のリリースでは、OWSMは異なるエラーに対して異なるフォルト・コード(FailedAuthenticationInvalidSecurityTokenおよびFailedCheck)を送信していましたが、現在のリリースでは、このデフォルトの動作が変更されています。OWSMは、すべてのエラーに対してInvalidSecurityフォルト・コードを送るようになりました。これは、XML暗号への攻撃を回避するためです。サービスが異なるタイプのエラーに対して異なるフォルト・コード(FailedAuthenticationInvalidSecurityTokenFailedCheckなど)を送信する場合、暗号への攻撃が可能です。このデフォルトの動作は、ドメイン全体のエージェント・プロパティuse.unified.fault.codefalseに設定することで変更できます。ただし、これによってXML暗号への攻撃が可能になる場合があるため、お薦めしません。このプロパティのデフォルト値「true」では、OWSMはすべてのエラーに対してInvalidSecurityフォルト・コードを送信します。use.unified.fault.codeプロパティの詳細は、『Oracle Web Services ManagerによるWebサービスの保護とポリシーの管理』WLSTを使用したセキュリティ・ポリシーの強制の構成に関する項を参照してください

非推奨となったUSERNAME_ID_PROPAGATIONポリシー

次の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の事前定義済ポリシーを参照してください

Oracle Infrastructure Webサービスの非推奨コマンド

表5-1に、Oracle Fusion Middleware 11gリリースで使用可能で、12c (12.1.2)で非推奨になったOracle Infrastructure Webサービス(またはクライアント)のWLSTコマンドを示します。また、この表には、同等の新しいWLSTコマンドと、新しいコマンドを使用したコードに更新する方法の例を示します。

WLSTコマンドに関する情報は、『インフラストラクチャ・コンポーネントのためのWLSTコマンド・リファレンス』Webサービス・カスタムWLSTコマンドに関する項を参照してください。

表5-1 Oracle Infrastructure Webサービスの非推奨コマンド

非推奨コマンド(11g) 推奨コマンド(12c) コードの更新

abortRespositorySession

abortWSMSession

11gリリース(リポジトリ操作)の場合:

wls:/jrfServer_domain/serverConfig> abortRepositorySession()
 

12cリリース(リポジトリ操作とポリシー・サブジェクト操作の両方)の場合:

wls:/jrfServer_domain/serverConfig> abortWSMSession()

attachPolicySet

setWSMPolicySetScope

11gリリース:

wls:/jrfServer_domain/serverConfig> attachPolicySet ('Domain("base_domain")')
 

12cリリース:

wls:/jrfServer_domain/serverConfig> setWSMPolicySetScope ('Domain("base_domain")')

attachPolicySetPolicy

attachWSMPolicy

attachWSMPolicies

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>attachWSMPolicies(["oracle/wss_username_token_client_policy","oracle/log_policy"])

beginRespositorySession

beginWSMSession

11gリリース(リポジトリ操作)の場合:

wls:/jrfServer_domain/serverConfig> beginRepositorySession()

12cリリース(リポジトリ操作とポリシー・サブジェクト操作の両方)の場合:

wls:/jrfServer_domain/serverConfig> beginWSMSession()

clonePolicySet

cloneWSMPolicySet

11gリリース:

wls:/jrfServer_domain/serverConfig> clonePolicySet ('myNewPolicySet', 'myPolicySet')

12cリリース:

wls:/jrfServer_domain/serverConfig> cloneWSMPolicySet ('myNewPolicySet', 'myPolicySet')

commitRespositorySession

commitWSMSession

11gリリース(リポジトリ操作)の場合:

wls:/jrfServer_domain/serverConfig> commitRepositorySession()

12cリリース(リポジトリ操作とポリシー・サブジェクト操作の両方)の場合:

wls:/jrfServer_domain/serverConfig> commitWSMSession()

createPolicySet

createWSMPolicySet

11gリリース:

wls:/jrfServer_domain/serverConfig> createPolicySet('myPolicySet', 'ws-service', 'Domain("base_domain")')

12cリリース:

wls:/jrfServer_domain/serverConfig> createWSMPolicySet ('myPolicySet', 'ws-service', 'Domain("base_domain")')

deletePolicySet

deleteWSMPolicySet

11gリリース:

wls:/jrfServer_domain/serverConfig> deletePolicySet('myPolicySet')
 

12cリリース:

wls:/jrfServer_domain/serverConfig> deleteWSMPolicySet ('myPolicySet')

describeRespositorySession

describeWSMSession

11gリリース(リポジトリ操作)の場合:

wls:/jrfServer_domain/serverConfig> describeRepositorySession()

11gリリース(ポリシー・サブジェクト操作用):

N/A

12cリリース(リポジトリ操作とポリシー・サブジェクト操作の両方)の場合:

wls:/jrfServer_domain/serverConfig> describeWSMSession()

detachPolicySet

detachWSMPolicy

detachWSMPolicies

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>detachWSMPolicies(["oracle/log_policy","oracle/wss_username_token_client_policy"])

displayPolicySet

displayWSMPolicySet

11gリリース:

wls:/jrfServer_domain/serverConfig> displayPolicySet('myPolicySet')
 

12cリリース:

wls:/jrfServer_domain/serverConfig> displayWSMPolicySet ('myPolicySet')

enablePolicySet

enableWSMPolicySet

11gリリース:

wls:/jrfServer_domain/serverConfig> enablePolicySet(true)

12cリリース:

wls:/jrfServer_domain/serverConfig> enableWSMPolicySet(true)

enablePolicySetPolicy

enableWSMPolicy

enableWSMPolicies

11gリリース:

wls:/wls-domain/serverConfig>enablePolicySetPolicy('/oracle/log_policy',false) 

12cリリース:

wls:/wls-domain/serverConfig>enableWSMPolicy('/oracle/log_policy',false) 

wls:/wls-domain/serverConfig>enableWSMPolicies(["oracle/log_policy", "oracle/wss_username_token_client_policy"], true ) 

exportRepository

exportWSMRepository

11gリリース:

wls:/jrfServer_domain/serverConfig> exportRepository ("/tmp/repo.zip")
 

12cリリース:

wls:/jrfServer_domain/serverConfig> exportWSMRepository ("/tmp/repo.zip")

importRepository

importWSMArchive

11gリリース(リポジトリ・ドキュメント)の場合:

wls:/jrfServer_domain/serverConfig> importRepository ("/tmp/repo.zip")
 

12cリリース(リポジトリ・ドキュメント)の場合:

wls:/jrfServer_domain/serverConfig> importWSMArchive ("/tmp/repo.zip")
 

listPolicySets

listWSMPolicySets

11gリリース:

wls:/wls-domain/serverConfig>listPolicySets('sca-reference')

12cリリース:

wls:/wls-domain/serverConfig>listWSMPolicySets('sca-reference')

migrateAttachments

migrateWSMAttachments

11gリリース:

wls:/jrfServer_domain/serverConfig> migrateAttachments()
 

12cリリース:

wls:/jrfServer_domain/serverConfig> migrateWSMAttachments()

modifyPolicySet

selectWSMPolicySet

11gリリース:

wls:/jrfServer_domain/serverConfig> modifyPolicySet('myPolicySet')
 

12cリリース:

wls:/jrfServer_domain/serverConfig> selectWSMPolicySet ('myPolicySet')

resetWSMPolicyRepository

restWSMRepository

11gリリース:

wls:/jrfServer_domain/serverConfig> resetWSMPolicyRepository()

12cリリース:

wls:/jrfServer_domain/serverConfig> resetWSMRepository()

setConfiguration

setWSMConfiguration

11gリリース

wls:/jrfServer_domain/serverConfig> setConfiguration('/WLS/myDomain')

12cリリース

wls:/jrfServer_domain/serverConfig> displayWSMConfiguration('WLS/base_domain') 

setPolicySetConstraint

setWSMPolicySetConstraint

11gリリース:

wls:/jrfServer_domain/serverConfig> setPolicySetConstraint ('HTTPHeader("VIRTUAL_HOST_TYPE","external")')
 

12cリリース:

wls:/jrfServer_domain/serverConfig> setWSMPolicySetConstraint ('HTTPHeader("VIRTUAL_HOST_TYPE","external")')

setPolicySetDescription

setWSMPolicySetDescription

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.')

setWebServicePolicyOverride

setWSMPolicyOverride

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')
 

setPolicySetPolicyOverride

setWSMPolicyOverride

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')
 

upgradeWSMPolicyRepository

upgradeWSMRepository

11gリリース:

wls:/jrfServer_domain/serverConfig> upgradeWSMPolicyRepository()

12cリリース:

wls:/jrfServer_domain/serverConfig> upgradeWSMRepository()

validatePolicySet

validateWSMPolicySet

11gリリース:

wls:/jrfServer_domain/serverConfig> validatePolicySet ('myPolicySet')

12cリリース:

wls:/jrfServer_domain/serverConfig> validateWSMPolicySet ('myPolicySet')

STSの自動ポリシー構成を使用するとWebサービス・クライアントと互換性のあるポリシーにならない場合がある

OWSMでSTS (Security Token Service)の自動ポリシー構成を使用すると、互換性のあるポリシーにならない場合があります。

回避策:

『Oracle Web Services ManagerによるWebサービスの保護とポリシーの管理』Webサービス・クライアントからのSTS構成ポリシーの手動による構成: メイン・ステップに関する項で説明されているように、Webサービス・クライアントからSTS構成ポリシーを手動で構成します。

SOAP over JMSトランスポートを使用するWebサービスおよびクライアントに互換性のないポリシーが表示される

Fusion Middleware Controlで、SOAP over JMSトランスポートを使用するWebサービスおよびクライアントにOWSMポリシーをアタッチする際に、利用可能なポリシーのリストに互換性のないものが含まれています。

『Oracle Web Services ManagerによるWebサービスの保護とポリシーの管理』どのOWSMポリシーがSOAP Over JMSトランスポートを使用するWebサービスおよびクライアントでサポートされているかに関する項を参照してください。

WSM-PMをホストしているサーバーが停止している場合NoSuchObjectExceptionになる

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サーバーの停止によってwsm-pmが使用可能でない場合、これは想定どおりの動作です。ユーザーによる処置は必要ありません。

WebCenter Portal管理対象サーバーの停止後にNullPointerExceptionが発生する

WebCenter Portal管理対象サーバーの停止後、次のエラー・メッセージが表示される場合があります。

Failed while destroying filter: OWSM Security Filter. 
java.lang.NullPointerException

機能に影響はなく、ユーザーによる処置は必要ありません。

WSM-PMをホストしているサーバーが停止している場合ConnectExceptionになる

wsm-pmアプリケーションが実行されているWebLogicドメイン内のサーバーを他のドメインのサーバーを停止する前に停止すると、次の例外が表示されます。

java.rmi.ConnectException

このエラーは、wsm-pmアプリケーションにアクセスできない場合に発生します。

デプロイされているWebLogicサーバーの停止によってwsm-pmが使用可能でない場合、これは想定どおりの動作です。ユーザーによる処置は必要ありません。

WSM-PMをホストしているサーバーが停止している場合リポジトリ書込みタイムスタンプを取得できない

管理サーバーを停止する前にwsm-pmアプリケーションがデプロイされているサーバーを停止すると、次のメッセージが表示されます。

The repository write timestamp cannot be retrieved due to underlying error

これは仕様動作です。ユーザーによる処置は必要ありません。

インストールとアップグレードとの構成ファイルの違いについて

次のドメイン構成ファイルは、新規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を含む元のファイルから削除されないために起こります。機能に影響はなく、違いは無視しても問題ありません。

WebServiceRef注釈を含む、11gでビルドされたOracle Infrastructure Webサービス・アプリケーションが失敗する

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> 
    

MDDS APIを使用している場合にXML External Entity Expansion (XXE)を無効化する

MDDS APIを使用している場合、WSDLのXXEを次の例に示すようにoracle.j2ee.ws.mdds.preventXXEオプションをBoolean.TRUE に設定して無効化します。

modelFactory.setOption("oracle.j2ee.ws.mdds.preventXXE", Boolean.TRUE);