By Joel Barnum, Descriptor Systems.
In this article, you will learn how to publish a service's WSDL to the jUDDI server. This article assumes that you have already completed the steps in Part 1, where you install and configure jUDDI.
This article further assumes that you are familiar with SOAP, WSDL and UDDI, as these topics will not be explored here.
Blatent, shameless plug: If you are not familiar with SOAP, WSDL and UDDI, I recommend that you get some Web services training from Descriptor Systems. You can find more information at www.descriptor.com. Thanks!
Here are the software packages you will need, in addition to the packages you installed in Part 1:
http://localhost:8080/axis/StockQuoteService.jws?wsdl
In this section, you will use the jUDDI console to publish a service in UDDI.
To start the jUDDI console, open a Web browser and enter the URL:
http://localhost:8080/juddi/console/
This Web page shows a rudimentary administration console to interact with the jUDDI server.
Since you are going to publish to the registry, you must first authenticate. When you configured jUDDI, the database script defined credentials for a UDDI user named jdoe with an empty password.
Follow these steps to obtain an authentication token:
In the jUDDI console, click on the link get_authToken under the UDDI Publish API category. This will open a form into which you can enter the SOAP message for the get_authToken UDDI request.
Please examine the provided template for the SOAP message. Note that "***" are placeholders into which you can enter data.
Find the "***" for userID and change the value to jdoe. Set the cred attribute to an empty string since this user has no password.
Click the Submit button -- the console should display the response message in the lower part of the form.
In the response, in the authInfo element, there should be a string that starts with authInfo. This string is your authentication token that you must provide with any further publishing commands.
Use the mouse to highlight the text within the authInfo element (including the authInfo: text) and then start Notepad and paste the authentication token into Notepad.
Next, let's publish a business entity. In the jUDDI console, on the right side of the window, click the link labeled save_business under the UDDI Publish API category. Again, the console will display a SOAP message with "***" placeholders into which you can enter data.
You now need to fill in all of the "***" except for the useType field. You can use the following values:
authInfo Copy and paste the authorization token from the last step name Goliath, Inc. description A big company personName Bill Jones phone 555-1212 email bill@goliath.com
When you are finished, press the Submit button and study the response message.
What is the business key that the registry generated for Goliath? Copy and paste it to Notepad.
Next, let's create a tModel for the sample Stock Quote service provided by Axis. Follow these steps:
First, ensure that the WSDL for the service is available. Start another Web browser window and enter:
http://localhost:8080/axis/StockQuoteService.jws?wsdl
In the jUDDI console, on the right side of the window, click the link labeled save_tModel under the UDDI Publish API category. Again, the console will display a SOAP message with "***" placeholders into which you can enter data.
Enter the following into the "***" (you can leave fields not mentioned here as "***"):
authInfo Paste the authorization token from Notepad name http://localhost:8080/axis/StockQuoteService.jws?wsdl overviewURL http://localhost:8080/axis/StockQuoteService.jws?wsdl Category Bag ------------ tModelKey UUID:C1ACF26D-9672-4404-9D70-39B756E62AB4 keyName uddi-org:types keyValue wsdlSpec
Press the Submit button.
Looking at the response, what's the unique tModel key that was assigned by the server? Copy and paste it into Notepad.
Here's a discussion of the data you entered:
Finally, we can create a business service and associated binding template. Follow these steps:
In the jUDDI console, on the right side of the window, click the link labeled save_service under the UDDI Publish API category. Again, the console will display a SOAP message with "***" placeholders into which you can enter data.
Enter the following into the "***" (you can leave fields not mentioned here as "***"):
authInfo Paste the authorization token from Notepad businessKey Paste the business key from Notepad name Stock Quote Service accessPoint http://localhost:8080/axis/StockQuoteService.jws tModelKey Paste the tModel key from Notepad overviewURL http://localhost:8080/axis/StockQuoteService.jws?wsdl
Press the Submit button.
Looking at the response, what's the unique service key that was assigned by the server? Copy and paste it into Notepad. Also paste the generated binding key into Notepad
Here's a discussion of the data you entered:
You have now registered your service into the UDDI registry. A client application could now look up the service, perhaps searching by tModel name, and then locate the WSDL.