当我在 guidewire CC 中启动服务器时,我收到了这个错误。
com.guidewire.pl.system.exception.UpgradeException:加密已被删除或更改,但未定义 OldEncryption 插件。有关加密升级的详细信息,请参阅您的文档。
请帮我解决这个错误。
当我在 guidewire CC 中启动服务器时,我收到了这个错误。
com.guidewire.pl.system.exception.UpgradeException:加密已被删除或更改,但未定义 OldEncryption 插件。有关加密升级的详细信息,请参阅您的文档。
请帮我解决这个错误。
当 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按插件注册表文件的名称跟踪用于加密每条记录的加密插件。如果找不到文件,您将收到此错误。
即使插件名称没有更改(元数据更改),ClaimCenter 也能够检测到实现类已更改。在这种情况下,它会查找名为OldEncryption.gwp
.
如果它找不到特定的名称,并且can't find OldEncryption.gwp
,那么你会得到这个错误。
更多信息可以在 Guidewire 的集成指南中找到。
听起来您要连接的数据库是您正在运行的 Guidewire 应用程序代码库所期望的更新或不同加密版本。
CurrentEncryptionPlugin
您的config.xml
文件中的值是什么?
<!-- The name of the current encryption plugin. -->
<param name="CurrentEncryptionPlugin" value="AESEncrypter"/>
我发现这是因为我没有将 extensions.properties 文件更新为最新数字。修理:
我做了这件事后就定下了。
假装这种类型的异常的简单方法,
从database-confix.xml更改数据库路径
每当收到此 UpgradeException 时,控制台中都会显示较新的升级版本号以及旧版本号。您必须更新 extension.property 文件中的新号码。
打开extension.property
文件
文件的内容就像
version=34
如果您对任何现有表结构进行了更改,则将 version 的值加一
重启服务器