当我在guidewire CC中启动服务器时出现此错误。
com.guidewire.pl.system.exception.UpgradeException:已删除或更改加密,但未定义OldEncryption插件。有关加密升级的详细信息,请参阅您的文档。
请帮我解决此错误。
答案 0 :(得分: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
的插件注册表。
如果找不到具体名称, AND 无法找到OldEncryption.gwp
,那么您将收到此错误。
可以在Guidewire的“集成指南”中找到更多信息。
答案 1 :(得分:1)
听起来您正在连接的数据库是一个较新的或不同的加密版本,与您运行的Guidewire应用程序代码库所期望的版本相同。
CurrentEncryptionPlugin
文件中config.xml
的价值是多少?
<!-- The name of the current encryption plugin. -->
<param name="CurrentEncryptionPlugin" value="AESEncrypter"/>
答案 2 :(得分:0)
我发现这是由于我没有将extensions.properties文件更新为最新编号。要解决:
我做完这件事就被设置了。
答案 3 :(得分:0)
伪装此类异常的简便方法,
从 database-confix.xml
答案 4 :(得分:-1)
打开extension.property
文件
该文件的内容将类似于
version=34
如果您在任何现有表结构中进行了更改
,则将版本的值增加1重启服务器
答案 5 :(得分:-1)
每当获得此UpgradeException时,较新的升级版本号将显示在控制台中以及旧版本号。您必须更新新号码 extension.property文件。