的关注 https://docs.wso2.com/display/Governance460/Oracle+Service+Bus 我正在尝试将Oracle Service Bus 12c(OSB)与WSO2 Governance Registry 4.6.0(G-Reg)集成。
我已经在OSB(greg-uddi)上添加了UDDI注册表,然后我尝试向UDDI发布代理服务。我已经选择了代理服务并检查了UDDI - "自动发布到注册表"复选框。
在我在OSB上激活会话后,在wso2 log(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管理控制台上看,代理/ wsdl列表上没有任何内容,只有在服务列表中才有"示例"目前,但没有任何有用的信息(也没有有效的网址)。
出了什么问题? 我必须做些什么才能在G-REG上发布wsdl?
答案 0 :(得分:1)
jUDDI抱怨密钥生成器tModel不存在传入的密钥。它是UDDI规范的一部分。如果您的服务密钥是' uddi:bea.com:servicebus:xxxx:yyyyyyy:sample'
然后你需要使用以下密钥的tModel密钥生成器才能发布。它们也需要按此顺序创建。
此链接有如何引导使用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!");