Reputation: 31
Following https://docs.wso2.com/display/Governance460/Oracle+Service+Bus I'm trying to integrate Oracle Service Bus 12c(OSB) with WSO2 Governance Registry 4.6.0(G-Reg).
I've added UDDI registries on OSB (greg-uddi) and then I've tried to pubblish proxy service to UDDI. I've selected a proxy services and checked UDDI - "Auto Publish to Registry" check-box.
After I've activated the session on OSB the following exception was wrote on 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}
Looking into G-Reg management console there isn't anything on proxies/wsdl list, only in the Services list is "sample" present, but without any useful information (nor valid url neither content).
What's wrong? What I have to do to pubblish wsdl on G-REG?
Upvotes: 1
Views: 347
Reputation: 3258
jUDDI is complaining that the key generator(s) tModels don't exist for the key that's passed in. It's part of the UDDI spec. If your service key is 'uddi:bea.com:servicebus:xxxx:yyyyyyy:sample'
then you need tModel Key Generator's with the following keys before you can publish. They also needed to be created in this order.
This link has a how to guide using jUDDI's web gui http://juddi.apache.org/docs/3.2/juddi-client-guide/html_single/#_create_a_tmodek_key_generator_partition
You can also programmatically create them. Here's an example https://svn.apache.org/repos/asf/juddi/trunk/juddi-examples/create-partition/src/main/java/org/apache/juddi/example/partition/SimpleCreateTmodelPartition.java
Here's the code you're looking for:
TModel keygen = UDDIClerk.createKeyGenator("www.mycoolcompany.com", "My Company's Keymodel generator", "en");
clerk.register(keygen);
System.out.println("Creation of Partition Success!");
Upvotes: 1