March 23, 2004

Browsing UDDI registries

Some years back (2001?) I had written up a very primitive command line tool to dump data from a UDDI (then V1) registry. I recently updated it for the current version of uddi4j.

You can download the code from here- as you can see, I had very optimistically named it 'UDDI Browser'. It should enable you to do things like:

Find a business by name

java com.soaprpc.uddi4j.tools.UDDIBrowser http://uddi.ibm.com/ubr/inquiryapi find_business name ibm

Look at the list of business returned, and drill-down using a business key

java com.soaprpc.uddi4j.tools.UDDIBrowser http://uddi.ibm.com/ubr/inquiryapi find_business key D2033110-3AAF-11D5-80DC-002035229C64

On finding a service you like, you can get information on it:

java com.soaprpc.uddi4j.tools.UDDIBrowser http://uddi.ibm.com/ubr/inquiryapi find_service key 894B5100-3AAF-11D5-80DC-002035229C64

The prerequisites for the code are:

  • Apache SOAP- uddi4j works with Axis, however I had problems with the current Axis release. I haven't verified which Axis version uddi4j works with. however you should use Xerces due to a bug with Crimson- see my comment below. You would have to make a small, one line change in the code to set the correct SOAP transport class.
  • Java mail (required by Apache SOAP)
  • Java activation framework (required by Apache SOAP)
  • And offcoure, uddi4j. Further instructions are here.

Note that if you run this software from behind a proxy server, you would need to specify the proxy host and port at the command line using -Dhttp.proxyHost/-Dhttp.proxyPort.

Most commercial Web service products include a UDDI browser, but if you are looking for an open source/free option and don't like the primitive interface of my UDDI tool, you do have some options. Many moons ago I worked briefly on one such tool- the now defunct HP Registry Composer. I found a datasheet for it still around on the 'HP Middleware' website. Your other (non-defunct) options include soapclient's web based UDDI browser and an open source SWING based tool called uddibrowse (I've seen some screenshots, but haven't tried it out).

The public UDDI registries (UDDI Business Registry- UBR) have a web based interface too. Uddi4j's website lists them, but is outdated- it still has HP's UBR site listed (HP dropped most it's Web Service offerings about a year and a half/two years ago), and the Microsoft UBR address is incorrect. A complete list is:

IBM-Production    
  Registration web site https://uddi.ibm.com/ubr/registry.html
  Inquiry URL http://uddi.ibm.com/ubr/inquiryapi
  Publish URL https://uddi.ibm.com/ubr/publishapi
Microsoft-Production    
  Registration web site http://uddi.microsoft.com
  Inquiry URL http://uddi.microsoft.com/inquire
  Publish URL https://uddi.microsoft.com/publish
SAP-Production    
  Registration web site http://uddi.sap.com
  Inquiry URL http://uddi.sap.com/UDDI/api/inquiry/
  Publish URL https://uddi.sap.com/UDDI/api/publish/

If you are planning to publish to the UDDI registry, you should use the 'test' registries. These currently support UDDI V3 Beta, and are backwards compatible with the UDDI V2 API.

IBM-Test    
  Registration web site https://uddi.ibm.com/beta/registry.html
  Inquiry URL http://uddi.ibm.com/beta/inquiryapi
  Publish URL https://uddi.ibm.com/beta/publishapi
Microsoft-Test    
  Registration web site http://uddi.beta.microsoft.com
  Inquiry URL http://uddi.beta.microsoft.com/inquire
  Publish URL https://uddi.beta.microsoft.com/publish
SAP-Test    
  Registration web site http://udditest.sap.com
  Inquiry URL http://udditest.sap.com/UDDI/api/inquiry/
  Publish URL https://udditest.sap.com/UDDI/api/publish/

 

Posted by vivek at March 23, 2004 07:03 PM | TrackBack
Comments

I want to use your sample but i'am not in grade.
Can you help me ???
My problem are generated is:

find
Exception browsing for businesses in UDDI Registry: Error: URI=null Line=1: Prefisso Namespace non valido: "xml".

My software are:
Tomcat 5.0.27
Axis 1_1
Eclipse

If you can help me I'm very happy...

Thanks

Posted by: Roberto at July 27, 2004 06:48 AM

This is due to a bug in the parser (Crimson) that comes with JDK 1.4. Switching to Xerces should make the error go away.

More details on the bug are at http://www.mail-archive.com/axis-user@xml.apache.org/msg18518.html

Posted by: Vivek Chopra at July 27, 2004 11:08 AM
Post a comment









Remember personal info?