安装JUDDI服务器以及发布WSDL:第二部分,发布WSDL

Installing thejUDDI UDDI Server and Publishing WSDL, Part 2

Publishing WSDL

ByJoel Barnum, Descriptor Systems.

Introduction

In this article, you will learn how to publish a service's WSDL to the jUDDIserver. This article assumes that you have already completed the steps inPart 1,where you install and configure jUDDI.

This article further assumes that you are familiar with SOAP, WSDL and UDDI, asthese topics will not be explored here.

Blatant, shameless plug: If you arenotfamiliar with SOAP, WSDL and UDDI, Irecommend that you get some Web services training from Descriptor Systems. Youcan find more information atwww.descriptor.com. Thanks!

Here are the software packages you will need, in addition to the packages youinstalled inPart 1:

  • The Apache Axis Web services runtime. You can download Axis fromthe Apache website. I used version 1.4.

Installing and Configuring Axis

1. Install Apache Axis according to theinstructions on the Apachewebsite.

2. Ensure thatyou can view the WSDL for the sample Stock Quote Service by opening a Webbrowser and entering the URL:

3. http://localhost:8080/axis/StockQuoteService.jws?wsdl 

Publishingthe Stock Quote Service's WSDL in UDDI

Inthis section, you will use the jUDDI console to publish a service in UDDI.

1.To start the jUDDI console, open a Web browserand enter the URL:

2. http://localhost:8080/juddi/console/ 
安装JUDDI服务器以及发布WSDL:第二部分,发布WSDL_第1张图片

This Web page shows a rudimentaryadministration console to interact with the jUDDI server.

3.Since you are going to publish to the registry,you must first authenticate. When you configured jUDDI, the database scriptdefined credentials for a UDDI user namedjdoewith an empty password.

Follow these steps to obtain an authenticationtoken:

a.In the jUDDI console, click on the linkget_authTokenunder theUDDI Publish APIcategory. This will open a form intowhich you can enter the SOAP message for the get_authToken UDDI request.

Please examine the provided template for theSOAP message. Note that "***" are placeholders into which you canenter data.

b.Find the "***" foruserIDand change the value tojdoe. Set thecredattribute to an empty string sincethis user has no password.

Click the Submit button -- the console shoulddisplay the response message in the lower part of the form.

c.In the response, in theauthInfoelement, there should be a string thatstarts withauthInfo. Thisstring is your authentication token that you must provide with any furtherpublishing commands.

Use the mouse to highlight the text within theauthInfoelement (including theauthInfo:text) and then start Notepad and pastethe authentication token into Notepad.

4.Next, let's publish abusiness entity. In the jUDDIconsole, on the right side of the window, click the link labeledsave_businessunder theUDDI Publish APIcategory. Again, the console willdisplay a SOAP message with "***" placeholders into which you canenter data.

5.You now need to fill in all of the"***" except for theuseTypefield. You can use the followingvalues:

6. authInfo Copy and paste the authorization token from the last step
7. name Goliath, Inc.
8. description A big company
9. personName Bill Jones
10. phone 555-1212
11. email [email protected]
 

When you are finished, press the Submit buttonand study the response message.

What is the business key that the registrygenerated for Goliath? Copy and paste it to Notepad.

12.Next, let's create a tModel for the sampleStock Quote service provided by Axis. Follow these steps:

a.First, ensure that the WSDL for the service isavailable. Start another Web browser window and enter:

b. http://localhost:8080/axis/StockQuoteService.jws?wsdl 

c.In the jUDDI console, on the right side of thewindow, click the link labeledsave_tModelunder theUDDI Publish APIcategory. Again, the console willdisplay a SOAP message with "***" placeholders into which you canenter 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 uniquetModel key that was assigned by the server? Copy and paste it into Notepad.

d.Here's a discussion of the data you entered:

§Thename,by convention, is the target namespace of the service as specified in the WSDL

§TheoverviewURL,by convention, is the network addressable URL of the WSDL

§ThistModelKeyis a well known value that we attachas a category to indicate that our tModel references WSDL. ThekeyNameandkeyValueare also part of this convention.

13.Finally, we can create abusiness serviceand associatedbinding template. Follow thesesteps:

a.In the jUDDI console, on the right side of thewindow, click the link labeledsave_serviceunder theUDDI Publish APIcategory. Again, the console willdisplay a SOAP message with "***" placeholders into which you canenter 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 uniqueservice key that was assigned by the server? Copy and paste it into Notepad.Also paste the generated binding key into Notepad

b.Here's a discussion of the data you entered:

§ThebusinessKeyties this service back to Goliath,Inc.

§TheaccessPoint,by convention, is the service's endpoint URL

§ThistModelKeyties the service and binding templateto the tModel you created earlier

14.You have now registered your service into theUDDI registry. A client application could now look up the service, perhapssearching by tModel name, and then locate the WSDL.

文章来源:http://www.descriptor.com/articles/web-services/juddi-p2.html

你可能感兴趣的:(wsdl)