Integrate WSO2 Governance Registry 4.6.0 and Oracle Service



以下https://docs.wso2.com/display/Governance460/Oracle+服务+巴士我正在尝试将Oracle Service Bus 12c(OSB)与WSO2 Governance Registry 4.6.0(G-Reg)集成。

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

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

TID: [0] [Greg] [2015-07-01 11:44:36,260]  INFO 
{org.apache.cxf.phase.PhaseInterceptorChain} -  Application 
{urn:uddi-org:v3_service}UDDIInquiryService#{urn:uddi-
org:v3_service}get_serviceDetail has thrown exception, unwinding 
now: org.apache.juddi.v3.error.InvalidKeyPassedException: The 
business service was not found for the given key:  
uddi:bea.com:servicebus:xxxx:yyyyyyy:sample 
{org.apache.cxf.phase.PhaseInterceptorChain}
TID: [0] [Greg] [2015-07-01 11:44:36,442]  INFO 
{org.wso2.carbon.registry.juddi.util.UDDIGovernanceUtil} -  
Service sample added Successfully.! 
{org.wso2.carbon.registry.juddi.util.UDDIGovernanceUtil}

查看G-Reg管理控制台,proxys/wsdl列表中没有任何内容,只有Services列表中存在"sample",但没有任何有用的信息(也没有有效的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:yyyyyyy

这个链接有一个如何使用jUDDI的web gui的指南http://juddi.apache.org/docs/3.2/juddi-client-guide/html_single/#_create_a_tmodek_key_generator_partition

您也可以通过编程方式创建它们。下面是一个例子https://svn.apache.org/repos/asf/juddi/trunk/juddi-examples/create-partition/src/main/java/org/apache/juddi/example/partition/SimpleCreateTmodelPartition.java

以下是您要查找的代码:

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

相关内容

  • 没有找到相关文章

最新更新