如何解决guidewire中的升级异常

问题描述 投票:2回答:4

当我在guidewire CC中启动服务器时出现此错误。

com.guidewire.pl.system.exception.UpgradeException:已删除或更改加密,但未定义OldEncryption插件。有关加密升级的详细信息,请参阅您的文档。

请帮我解决这个错误。

guidewire
4个回答
2
投票

当ClaimCenter检测到您已更改加密方案而未正确保留旧插件注册时,会发生此异常。

您可以拥有多个实现IEncryption接口的插件。

假设您使用的是通过SHA1Encryption.gwp插件注册表注册的SHA1加密:

<plugin
  interface="IEncryption"
  name="SHA1Encryption">
  <plugin-gosu
    gosuclass="com.mycompany.plugins.encryption.SHA1EncryptionPluginImpl"/>
</plugin>

并在config.xml中配置:

<!-- The name of the current encryption plugin. -->
<param name="CurrentEncryptionPlugin" value="SHA1Encryption"/>

然后您决定切换到AES加密。

首先,您必须创建一个新的插件注册表文件AESEncryption.gwp

<plugin
  interface="IEncryption"
  name="AESEncryption">
  <plugin-gosu
    gosuclass="com.mycompany.plugins.encryption.AESEncryptionPluginImpl"/>
</plugin>

然后你必须修改config.xml告诉ClaimCenter使用新的插件:

<!-- The name of the current encryption plugin. -->
<param name="CurrentEncryptionPlugin" value="AESEncryption"/>

不要删除SHA1Encryption.gwp插件注册表。

ClaimCenter通过插件注册表文件的NAME跟踪用于加密每条记录的加密插件。如果找不到该文件,您将收到此错误。

即使插件名称没有(元数据更改),ClaimCenter也能够检测到实现类已更改。在这种情况下,它会查找名为OldEncryption.gwp的插件注册表。

如果找不到具体的名称,并且找不到OldEncryption.gwp,那么你会得到这个错误。

可以在Guidewire的“集成指南”中找到更多信息。


1
投票

听起来您正在连接的数据库是一个更新或不同加密的版本,正是您运行的Guidewire应用程序代码库所期望的版本。

CurrentEncryptionPlugin文件中config.xml的价值是多少?

  <!-- The name of the current encryption plugin. -->
  <param name="CurrentEncryptionPlugin" value="AESEncrypter"/>

-1
投票

打开extension.property文件

文件的内容就像

version=34

如果您在任何现有表结构中进行了更改,则将版本的值增加1

重启服务器


-1
投票

每当获得此UpgradeException时,较新的升级版本号将显示在控制台中以及旧版本号。您必须更新extension.property文件中的新号码。

© www.soinside.com 2019 - 2024. All rights reserved.