1

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?

Community
  • 1
  • 1
Sannino
  • 31
  • 4

1 Answers1

1

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!");
spy
  • 3,199
  • 1
  • 18
  • 26
  • Since I'm using WSO2 Governance Registry (GREG) I can't use jUDDI's web gui to add tModel Key Generator. If I understand do I have to add a tModel key generator on GREG for every proxy-services I want pubblish from Oracle Service Bus? Looking on WSO2 site I didn't figure out how to do, what do you suggest? I've also checked "Load T-Models into Registry" on OSB - UDDI Registry, but this not solve the problem. – Sannino Jul 02 '15 at 12:40
  • As a work around, you can grab the jUDDI client and write a quick program to do what you need to do. Otherwise, I'd suggest opening a support ticket with WSO2 and or Oracle. Their stuff isn't spec compliant. – spy Jul 02 '15 at 13:46
  • One more suggestion. if you can find the configuration for the embedded jUDDI within WS02, there is a flag to turn off the validation feature that may help you overcome this. It's usually called juddiv3.xml or juddiv3.properties – spy Jul 02 '15 at 13:46