集成WSO2治理注册表4.6.0和Oracle Service Bus 12c

集成WSO2治理注册表4.6.0和Oracle Service Bus 12c,wso2,osb,uddi,wso2greg,juddi,Wso2,Osb,Uddi,Wso2greg,Juddi,跟随 我正在尝试将Oracle Service Bus 12c(OSB)与WSO2治理注册表4.6.0(G-Reg)集成 我在OSB上添加了UDDI注册中心(GregUDDI),然后我尝试将代理服务发布到UDDI。我选择了代理服务并选中了UDDI-“自动发布到注册表”复选框 在OSB上激活会话后,在wso2日志(wso2carbon.log)上写入了以下异常: 查看G-Reg管理控制台,代理/wsdl列表中没有任何内容,只有服务列表中有“示例”,但没有任何有用的信息(也没有有效的url或内容)

跟随 我正在尝试将Oracle Service Bus 12c(OSB)与WSO2治理注册表4.6.0(G-Reg)集成

我在OSB上添加了UDDI注册中心(GregUDDI),然后我尝试将代理服务发布到UDDI。我选择了代理服务并选中了UDDI-“自动发布到注册表”复选框

在OSB上激活会话后,在wso2日志(wso2carbon.log)上写入了以下异常:

查看G-Reg管理控制台,代理/wsdl列表中没有任何内容,只有服务列表中有“示例”,但没有任何有用的信息(也没有有效的url或内容)

怎么了?
要在G-REG上发布wsdl,我必须做什么?

jUDDI抱怨传入的密钥的密钥生成器tModel不存在。它是UDDI规范的一部分。如果您的服务密钥是“UDDI:bea.com:servicebus:xxxx:yyyyyyy:sample”

然后,在发布之前,您需要具有以下键的tModel键生成器。它们也需要按此顺序创建

  • uddi:bea.com
  • uddi:bea.com:servicebus
  • uddi:bea.com:servicebus:xxxx
  • uddi:bea.com:servicebus:xxxx:yyyyyyyy
此链接提供了如何使用jUDDI的web gui的指南

您还可以通过编程方式创建它们。这里有一个例子

以下是您要查找的代码:

 TModel keygen = UDDIClerk.createKeyGenator("www.mycoolcompany.com", "My Company's Keymodel generator", "en");
                    clerk.register(keygen);
                    System.out.println("Creation of Partition Success!");

因为我使用的是WSO2治理注册中心(GREG),所以无法使用jUDDI的web gui添加tModel键生成器。如果我明白了,我是否必须为我希望从Oracle Service Bus发布的每个代理服务在GREG上添加一个tModel密钥生成器?看看WSO2网站,我不知道该怎么做,你有什么建议?我还检查了OSB-UDDI注册中心上的“将T模型加载到注册中心”,但这并不能解决问题。作为一种解决方法,您可以获取jUDDI客户端并编写一个快速程序来完成需要执行的操作。否则,我建议使用WSO2和/或Oracle打开一个支持票证。他们的东西不符合规格。还有一个建议。如果您可以在WS02中找到嵌入式jUDDI的配置,那么有一个标志可以关闭验证功能,这可能有助于您克服这一问题。它通常被称为juddiv3.xml或juddiv3.properties
 TModel keygen = UDDIClerk.createKeyGenator("www.mycoolcompany.com", "My Company's Keymodel generator", "en");
                    clerk.register(keygen);
                    System.out.println("Creation of Partition Success!");