UDDI 实用程序工具局限性和解决方法
对于 UDDI 实用程序工具的某些局限性,存在用于解决每个问题的操作。
- 尝试运行 UDDI 实用程序工具,但发生以下错误:
java.lang.noClassDefFoundError: com/ibm/uddi/promoter/CommandLineProcessor
- 请确保已对提供的属性文件 UDDIUtilityTools.properties 进行编辑,并确保该文件包含适合您的环境的值。有关类路径上需要的文件的详细信息以及示例属性文件,请参阅有关“UDDI 实用程序工具先决条件”和“UDDI 实用程序工具配置文件”的主题。
- 请确保使用 WebSphere® Application Server 随附的 Java 代码级别。
- PublisherAssertion 不受支持且不升级。
要解决此问题,请在升级相关业务之后,重新创建 publisherAssertion 关系。
- 服务投影中引用的业务不以引用 tModel 实体的相同方式自动添加到实体定义文件。
要解决此问题,请将拥有所投影服务的引用业务添加到实体定义文件。如果业务不在目标注册中心中,请将它放在实体定义文件中服务的拥有业务之前。
- 服务投影的循环检测不以引用 tModel 实体的相同方式进行检测。
要解决此问题,如果两个或多个服务投影之间存在循环引用,通过临时移除一个投影来中断循环,执行导入,然后更新已更改的实体,以在目标注册中心中重新建立循环。
- 源注册中心已删除(在逻辑意义上)的 tModel 实体在目标注册中心中导入并升级为未删除。这是因为在 UDDI V2 规范中,tModel 实体的已删除状态不作为 API 调用显示。
要解决此问题,请在导入 tModel 实体之后,使用 UDDI 实用程序工具“删除”功能或任何其他 UDDI 注册中心 API 访问方法来执行删除。
- hostingRedirector 所引用的 BindingTemplate 不以引用 tModel 实体的相同方式自动添加到实体定义文件。
要解决此问题,请将引用的 bindingTemplate 添加到实体定义文件。
- owningBusiness keyedReference 所引用的业务不会自动添加到实体定义文件。
要解决此问题,请将引用的业务导入到目标注册中心,然后再导入对该业务进行引用的 tModel。
- 借助嵌入式 Apache Derby 数据库,引用目标注册中心时不支持导入和升级功能。
要解决此问题,请使嵌入式 Apache Derby 数据库成为启用网络的数据库。有关配置网络 Apache Derby 的信息,请参阅 Derby Server and Administration Guide 中的“Managing the Derby Network Server”部分。
当使用嵌入式 Apache Derby 数据库引用源注册中心时,支持“导出”和“删除”功能。
- 不会验证,也不会阻止使用命令行参数的某些组合。例如,可在同一命令中将 -import 与 -keysFile path_to_file 一起指定(虽然会忽略 -keysFile 选项)。