Running the Client Examples
The simple client programs provided with this tutorial can be run from the command line. You can modify them to suit your needs. They allow you to specify the Java WSDP Registry Server for queries and updates. (To install the Registry Server files, follow the instructions in Preliminaries: Getting Access to a Registry.
The examples, in the
<
INSTALL
>/javaeetutorial5/examples/jaxr/simple/src/
directory, are as follows:
JAXRQuery.java
shows how to search a registry for organizations.JAXRQueryByNAICSClassification.java
shows how to search a registry using a common classification scheme.JAXRQueryByWSDLClassification.java
shows how to search a registry for web services that describe themselves by means of a WSDL document.JAXRPublish.java
shows how to publish an organization to a registry.JAXRDelete.java
shows how to remove an organization from a registry.JAXRSaveClassificationScheme.java
shows how to publish a classification scheme (specifically, a postal address scheme) to a registry.JAXRPublishPostal.java
shows how to publish an organization with a postal address for its primary contact.JAXRQueryPostal.java
shows how to retrieve postal address data from an organization.JAXRDeleteScheme.java
shows how to delete a classification scheme from a registry.JAXRPublishConcept.java
shows how to publish a concept for a WSDL document.JAXRPublishHelloOrg.java
shows how to publish an organization with a service binding that refers to a WSDL document.JAXRDeleteConcept.java
shows how to delete a concept.JAXRGetMyObjects.java
lists all the objects that you own in a registry.The
<
INSTALL
>/javaeetutorial5/examples/jaxr/simple/
directory also contains the following:
- A
build.xml
file for the examples- A
JAXRExamples.properties
file, in thesrc
subdirectory, that supplies string values used by the sample programs- A file called
postalconcepts.xml
that serves as the taxonomy file for the postal address examplesIn order to run these examples, the Application Server where you installed the Registry Server files must be running.
Before You Compile the Examples
Before you compile the examples, edit the file
<
INSTALL
>/javaeetutorial5/examples/jaxr/simple/src/JAXRExamples.properties
as follows.
- If the Application Server where you installed the Registry Server files is running on a system other than your own or if it is using a nondefault HTTP port, change the following lines:
query.url=http://localhost:8080/RegistryServer/
publish.url=http://localhost:8080/RegistryServer/
...
link.uri=http://localhost:8080/hello-jaxws/hello?WSDL
...
wsdlorg.svcbnd.uri=http://localhost:8080/hello-jaxws/helloSpecify the fully qualified host name instead of
localhost
, or change8080
to the correct value for your system.- (Optional) Edit the following lines, which contain empty strings for the proxy hosts, to specify your own proxy settings. The proxy host is the system on your network through which you access the Internet; you usually specify it in your Internet browser settings.
## HTTP and HTTPS proxy host and port
http.proxyHost=
http.proxyPort=8080
https.proxyHost=
https.proxyPort=8080The proxy ports have the value 8080, which is the usual one; change this string if your proxy uses a different port.
Your entries usually follow this pattern:
http.proxyHost=proxyhost.mydomain
http.proxyPort=8080
https.proxyHost=proxyhost.mydomain
https.proxyPort=8080You need to specify a proxy only if you want to specify an external link or service binding that is outside your firewall.
- Feel free to change any of the organization data in the remainder of the file. This data is used by the publishing and postal address examples.
You can edit the
src/JAXRExamples.properties
file at any time. The Ant targets that run the client examples will use the latest version of the file.
Note: Before you compile any of the examples, follow the preliminary setup instructions in Building the Examples.
Compiling the Examples
You can compile and run the examples using either the NetBeans 5.5 IDE or Ant.
To compile the programs using NetBeans 5.5, follow these steps:
- In NetBeans 5.5, choose Open Project from the File menu.
- In the Open Project dialog, navigate to
<
INSTALL
>/javaeetutorial5/examples/jaxr/
.- Select the
simple
folder.- Select the Open as Main Project checkbox.
- Click Open Project Folder.
A Reference Problems dialog appears. Click Close.
- Right-click the
simple
project and choose Resolve Reference Problems.- In the Resolve Reference Problems dialog, select the first of the missing JAR files and click Resolve.
The missing files are
appserv-ws.jar
,javaee.jar
,appserv-rt.jar
, andcommons-logging.jar
.- Navigate to the
<
JAVAEE_HOME
>/lib/
directory.- Select the missing JAR file (
appserv-ws.jar
, for example) and click Open.In the Resolve Reference Problems dialog, all the files have green check marks to the left of their names.
- Click Close.
- Right-click the
simple
project and choose Build Project.To compile the programs using Ant, follow these steps:
This command uses the default target, which performs the compilation. The Ant targets create subdirectories called
build
anddist
.Running the Examples
You must start the Application Server in order to run the examples against the Registry Server. For details, see Starting and Stopping the Application Server.
Getting a List of Your Registry Objects
To get a list of the objects you own in the registry--organizations, classification schemes, and concepts--run the
JAXRGetMyObjects
program.To run the program using NetBeans 5.5, follow these steps:
To run the program using Ant, use the
run-get-objects
target:It is a good idea to run this program first to make sure the Registry Server is running properly.
Note: The first time you access the Registry Server, you are likely to see a runtime error. If you run the program a second time, the program should run correctly.
Because you are logged in as the default user,
testuser
, you will see a list of all the objects in the registry when you run this program. Most of these objects are classification schemes.Running the JAXRPublish Example
To run the
JAXRPublish
program using NetBeans 5.5, follow these steps:To run the program using Ant, use the
run-publish
target with no command-line arguments:The program output displays the string value of the key of the new organization.
After you run the
JAXRPublish
program but before you runJAXRDelete
, you can runJAXRQuery
to look up the organization you published.
Note: When you run any program that publishes an object to the registry, a runtime warning appears in the server log (a
com.sun.xnode.XNodeException
). It is safe to ignore this warning.
Running the JAXRQuery Example
To run the
JAXRQuery
example, specify a string argument on the command line to search the registry for organizations whose names contain that string. Searching is not case-sensitive.To run the program using NetBeans 5.5, follow these steps:
- Right-click the
simple
project and choose Properties.- Select Run from the Categories tree.
- Click Browse next to the Main Class field.
- In the Browse Main Classes dialog, select
JAXRQuery
.- Click Select Main Class.
- In the Arguments field, type the query string value (for example,
coffee
).- Click OK.
- Right-click the project and choose Run Project.
To run the program using Ant, use the
run-query
target. Specify aquery-string
argument on the command line:Running the JAXRQueryByNAICSClassification Example
After you run the
JAXRPublish
program, you can also run theJAXRQueryByNAICSClassification
example, which looks for organizations that use the All Other Specialty Food Stores classification, the same one used for the organization created byJAXRPublish
.To run the program using NetBeans 5.5, follow these steps:
- Right-click the
simple
project and choose Properties.- Select Run from the Categories tree.
- Click Browse next to the Main Class field.
- In the Browse Main Classes dialog, select
JAXRQueryByNAICSClassification
.- Click Select Main Class.
You do not have to remove the argument string left over from the previous program. Since this program takes no arguments, the string will be ignored.
- Click OK.
- Right-click the project and choose Run Project.
- In the output window, find the ID string that follows
Org key id:
and select it.- Right-click the selected text and choose Copy.
To run the program using Ant, use the
run-query-naics
target:Running the JAXRDelete Example
To run the
JAXRDelete
program, specify the key string for the object you want to delete as input to the program. For example, you can use the key string displayed by theJAXRQueryByNAICSClassification
program.To run the program using NetBeans 5.5, follow these steps:
- Right-click the
simple
project and choose Properties.- Select Run from the Categories tree.
- Click Browse next to the Main Class field.
- In the Browse Main Classes dialog, select
JAXRDelete
.- Click Select Main Class.
- In the Arguments field, paste the string you copied when you ran the program in the previous section.
- Click OK.
- Right-click the project and choose Run Project.
To run the program using Ant, use the
run-delete
target. Specify akey-string
argument on the command line:Publishing a Classification Scheme
To publish organizations with postal addresses, you must first publish a classification scheme for the postal address.
To run the
JAXRSaveClassificationScheme
program using NetBeans 5.5, follow these steps:
- Right-click the
simple
project and choose Properties.- Select Run from the Categories tree.
- Click Browse next to the Main Class field.
- In the Browse Main Classes dialog, select
JAXRSaveClassificationScheme
.- Click Select Main Class.
- Click OK.
- Right-click the project and choose Run Project.
- In the output window, find the UUID string that follows the string
The postalScheme key is
and select it.- Right-click the selected text and choose Copy.
To run the program using Ant, use the
run-save-scheme
target:You will use the UUID string returned by this program in the next section.
Running the Postal Address Examples
Before you run the postal address examples, perform these steps:
- In the
simple
directory, open the filepostalconcepts.xml
in an editor.- Wherever you see the string
uuid-from-save
, replace it with the UUID string returned by theJAXRSaveClassificationScheme
program (including theuuid:
prefix). Make sure there are no leading or trailing spaces in the string.- Save and close the file.
For a given registry, you only need to publish the classification scheme and edit
postalconcepts.xml
once. After you perform those steps, you can run theJAXRPublishPostal
andJAXRQueryPostal
programs multiple times.To run the
JAXRPublishPostal
program using NetBeans 5.5, follow these steps:
- Right-click the
simple
project and choose Properties.- Select Run from the Categories tree.
- Click Browse next to the Main Class field.
- In the Browse Main Classes dialog, select
JAXRPublishPostal
.- Click Select Main Class.
- In the Arguments field, paste the UUID string returned by the
run-save-scheme
target. The UUID string would look something like this:
uuid:938d9ccd-a74a-4c7e-864a-e6e2c6822519
- Click OK.
- Right-click the project and choose Run Project.
To run the
JAXRQueryPostal
program using NetBeans 5.5, follow these steps:
- Right-click the
simple
project and choose Properties.- Select Run from the Categories tree.
- Click Browse next to the Main Class field.
- In the Browse Main Classes dialog, select
JAXRQueryPostal
.- Click Select Main Class.
- In the Arguments field, type a query string, then the UUID string returned by the
run-save-scheme
target. The order is important. For example:
coffee
uuidstring
- Click OK.
- Right-click the project and choose Run Project.
To run the
JAXRPublishPostal
program using Ant, specify the string you entered in thepostalconcepts.xml
file, including theuuid:
prefix, as input to therun-publish-postal
target:The program output displays the string value of the key of the new organization.
To run the
JAXRQueryPostal
program using Ant, use therun-query-postal
target. This target specifies thepostalconcepts.xml
file in a<sysproperty>
tag.As input to the
run-query-postal
target, specify both aquery-string
argument and auuid-string
argument on the command line to search the registry for the organization published by therun-publish-postal
target:The postal address for the primary contact will appear correctly with the JAXR
PostalAddress
methods. Any postal addresses found that use other postal address schemes will appear asSlot
lines.If you want to delete the organization you published, follow the instructions in Running the JAXRDelete Example.
Deleting a Classification Scheme
To delete the classification scheme you published after you have finished using it, run the
JAXRDeleteScheme
program.To run the program using NetBeans 5.5, follow these steps:
- Right-click the
simple
project and choose Properties.- Select Run from the Categories tree.
- Click Browse next to the Main Class field.
- In the Browse Main Classes dialog, select
JAXRDeleteScheme
.- Click Select Main Class.
- In the Arguments field, paste the UUID string for the postal address scheme.
- Click OK.
- Right-click the project and choose Run Project.
To run the program using Ant, use the
run-delete-scheme
target, specifying the UUID string:Publishing a Concept for a WSDL Document
The
JAXRPublishConcept
program publishes the location of the WSDL document for the JAX-WSHello
service described in Creating a Simple Web Service and Client with JAX-WS. Normally, you deploy the service before you publish the location of the WSDL document. However, this program runs correctly whether or not the service is deployed.To run the
JAXRPublishConcept
program using NetBeans 5.5, follow these steps:
- Right-click the
simple
project and choose Properties.- Select Run from the Categories tree.
- Click Browse next to the Main Class field.
- In the Browse Main Classes dialog, select
JAXRPublishConcept
.- Click Select Main Class.
- Click OK.
- Right-click the project and choose Run Project.
- In the output window, find the UUID string that follows the string
Concept key is
and select it.- Right-click the selected text and choose Copy.
To run the program using Ant, use the
run-publish-concept
target:The program output displays the UUID string of the new specification concept, which is named HelloConcept. You will use this string in the next section.
After you run the
JAXRPublishConcept
program, you can runJAXRPublishHelloOrg
to publish an organization that uses this concept.Publishing an Organization with a WSDL Document in Its Service Binding
To run the
JAXRPublishHelloOrg
example, specify the string returned fromJAXRPublishConcept
(including theuuid:
prefix) as input to the program.To run the program using NetBeans 5.5, follow these steps:
- Right-click the
simple
project and choose Properties.- Select Run from the Categories tree.
- Click Browse next to the Main Class field.
- In the Browse Main Classes dialog, select
JAXRPublishHelloOrg
.- Click Select Main Class.
- In the Arguments field, paste the UUID string for the concept. The
uuidstring
would look something like this:
uuid:10945f5c-f2e1-0945-2f07-5897ebcfaa35
- Click OK.
- Right-click the project and choose Run Project.
To run the program using Ant, use the
run-publish-hello-org
target:The program output displays the string value of the key of the new organization, which is named Hello Organization.
After you publish the organization, run the
JAXRQueryByWSDLClassification
example to search for it. To delete it, runJAXRDelete
.Running the JAXRQueryByWSDLClassification Example
To run the
JAXRQueryByWSDLClassification
example, specify a string argument to search the registry for specification concepts whose names contain that string. Searching is not case-sensitive.To run the program using NetBeans 5.5, follow these steps:
- Right-click the
simple
project and choose Properties.- Select Run from the Categories tree.
- Click Browse next to the Main Class field.
- In the Browse Main Classes dialog, select
JAXRQueryByWSDLClassification
.- Click Select Main Class.
- In the Arguments field, type
helloconcept
.- Click OK.
- Right-click the project and choose Run Project.
To run the program using Ant, use the
run-query-wsdl
target:This example finds the concept and organization you published.
Deleting a Concept
To run the
JAXRDeleteConcept
program, specify the UUID string displayed by theJAXRPublishConcept
program as input to the program. Do not delete the concept until after you have deleted any organizations that refer to it.To run the program using NetBeans 5.5, follow these steps:
- Right-click the
simple
project and choose Properties.- Select Run from the Categories tree.
- Click Browse next to the Main Class field.
- In the Browse Main Classes dialog, select
JAXRDeleteConcept
.- Click Select Main Class.
- In the Arguments field, paste the UUID string for the concept.
- Click OK.
- Right-click the project and choose Run Project.
To run the program using Ant, use the
run-delete-concept
target:Other Targets
To remove the
build
anddist
directories and the class files using NetBeans 5.5, right-click thesimple
project and choose Clean Project.To perform this task using Ant, type the following command:
To obtain an Ant syntax reminder for all the targets, use the command