1
votes

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?

1

1 Answers

1
votes

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.

  • uddi:bea.com
  • uddi:bea.com:servicebus
  • uddi:bea.com:servicebus:xxxx
  • uddi:bea.com:servicebus:xxxx:yyyyyyy

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!");