AEM Formsのアップグレード後のシリアル化解除エラーの修正

IBM WebSphere Application Server 9.0.5.28でAdobe Experience Manager (AEM) Formsをバージョン 6.5.25にアップグレードすると、サーバーの起動中およびConfiguration Managerの実行中にデシリアライゼーションエラーが発生します。 この問題を解決するには、お客様がCRXを持っていないため、起動時にNososerial Java Agentを初期化する必要なJVM引数を使用してNososerial Java Agentを設定します。

説明 description

環境

  • Product: Adobe Experience Manager (AEM) Forms JEE
  • バージョン : 6.5.25、6.5.23からアップグレード
  • Application server: IBM WebSphere Application Server 9.0.5.28
  • オペレーティングシステム : Windows Server 2022 Datacenter

問題/症状

  • AEM Forms 6.5.25にアップグレードし、IBM WebSphere上でアプリケーションを起動すると、多数の​逆シリアル化がクラスに対して許可されない エラーメッセージがログに表示されます。
  • エラーは、サーバーの起動時とConfiguration Managerの実行時の両方に表示されます。

解決策 resolution

この問題を解決するには、次の手順に従います。

  1. notsoserial.jar ファイルが、WebSphere上にデプロイされたAEM アプリケーションで使用されているディレクトリ(アプリケーションサーバーインスタンスのinstalledApps ディレクトリなど)に存在することを確認します。

  2. is-deserialized.txtという名前の空のファイルをnotsoserial.jarと同じディレクトリに作成します。

  3. WebSphere Admin Consoleで、Servers >[ your server] > Java and Process Management > Process Definition > Java Virtual Machine > Generic JVM argumentsに移動します。

  4. 次のJVM引数を追加または更新します。

    code language-none
    -javaagent:<path-to-notsoserial.jar> -Dnotsoserial.dryrun=<path-to-is-deserialized.txt>
    
  5. <path-to-notsoserial.jar>と<path-to-is-deserialized.txt>を完全なパスに置き換えます。

  6. 環境で特に必要とされる場合を除き、以前の関連するJVM引数をすべて削除します。

    code language-none
    -Dorg.kantega.notsoserial.allow=...
              -Djdk.serialFilter=...
    
  7. 変更を保存し、WebSphere アプリケーションサーバーを再起動します。

  8. 再起動後、スタートアップおよびConfiguration Managerの実行中に、シリアル化解除エラーがSystemOut.logまたはその他の関連ログに表示されなくなったことを確認します。

メモ

  • -Dnotsoserial.dryrun プロパティを使用すると、起動時に許可リストが強制的に初期化されます。これは、JNDI ブートストラップ中に適切に動作するために必要です。
  • 今後のパッチまたはアップグレードのために、これらのJVM引数を配置しておきます。 メンテナンス後に逆シリアル化エラーが再び表示される場合は、これらの設定が引き続き存在することを確認します。
  • notsoserial.jarの場所は、デプロイメント構造によって異なります。 環境の正しいパスを参照していることを確認してください。
  • 上記の手順に加えて、追加のトラブルシューティング手順は提供されていません。
recommendation-more-help
experience-cloud-kcs-help-kbarticles