The Java examples in this book use the Application Programming Interfaces (APIs) provided by UDDI4J — an open source initiative.
The Java ARchive (JAR) file containing these APIs can be downloaded from the UDDI4J project Web site at: http://www.uddi4j.org. The examples discussed in the book use APIs from the UDDI Version 2 packaging. Refer to related documentation for more information on how to set up UDDI4J for your environment.
UDDI4J APIs need a Simple Object Access Protocol (SOAP) implementation to process incoming and outgoing SOAP messages. Several implementations such as those from Hewlett-Packard (HP) and the Apache project, are supported. To get the Apache SOAP implementation, download the file from the project Web site: http://xml.apache.org/dist/soap/.Version 2.3.1 is used in this book. After the installation, add the path to the JAR file into CLASSPATH.
UDDI4J also uses Java utilities that are not part of the standard Java distribution. These utilities must be downloaded separately and installed before the APIs can work properly. All the utilities are available on Sun Microsystem’s Web site.
The package, Java Secure Socket Extension (JSSE), is needed in order to secure HyperText Transfer Protocol (HTTPS). Standard Java distribution only allows non-secure HTTP calls. However, since all the publish APIs in UDDI use HTTPS, JSSE is required. Note that in version 1.4, JSSE is part of standard Java distribution. The site http://java.sun.com/products/jsse/INSTALL.html provides installation instructions.
The package javax.mail
is required for UDDI4J for its messaging needs. This package is available at http://java.sun.com/products/javamail/. After the download, add the corresponding JAR file into CLASSPATH. No specific configuration is needed on the user’s part after that.
The JavaBean Activation Framework (JAF) provides ability to handle arbitrary data types including binary data. This is useful when handing UDDI messages. JAF is available at: http://java.sun.com/products/javabeans/glasgow/jaf.html.
Use the GettingStarted
example explained in Chapter 7 to check the installation.
The behavior of the UDDI4J APIs can be altered through several configuration parameters. The most commonly used parameters are described below. These parameters can be set either through the command-line or programmatically.
org.uddi4j.TransportClassName
: The class name that provides entry point into a specific SOAP implementation. The version 2.0 provides support for SOAP implementations by HP and the Apache project. The corresponding entry points in the UDDI4J JAR files are as follows:
Apache SOAP: org.uddi4j.transport.ApacheSOAPTransport
Apache Axis: org.uddi4j.transport.ApacheAxisTransport
HP: org.uddi4j.transport.HPSOAPTransport
org.uddi4j.logEnabled
: The switch turns logging on or off. When set to true
, the exchange of messages between the APIs and the UDDI registry can be browsed. The default value is false
.
http.proxyHost
: This property is set when the client machine is behind a firewall. The proxy information is used when communicating with the UDDI registry. This property is used when making an HTTP connection.
http.proxyPort
: The port number to be used when communicating with proxy during an HTTP connection.
https.proxyHost
: This property is set when the client machine is behind a firewall. The proxy information is used when communicating with the UDDI registry. This property is used when making an HTTPS connection.
https.proxyPort
: The port number to be used when communicating with proxy during an HTTPS connection.
http.proxyUserName
: User name to be used for the proxy server.
http.proxyPassword
: Password associated with the proxy server user name.
In addition, the following properties are used in the examples in the book. These properties can be used to alter the behavior of the examples.
inquiryURL
: This parameter can be used to set the Uniform Resource Locator (URL) of the registry where the inquiry request is to be sent. Chapter 5 provides a list of URLs where UDDI registries are available publicly.
publishURL
: The URL where the publish requests are to be sent.
userid
: The user ID to be used during the authentication process. Authentication is required during publication.
password
: The password associated with userid
.