Inquiry v3 UDDI v3
REGISTRY_HOME\demos\env.properties Windows:
REGISTRY_HOMEdemosenv.properties UNIX:
The values set during the installation of the Oracle Service Registry work out of box, and their modification affects all demos. If you need to redefine the value of some property for a single demo that is, at the local level, edit the file
env.properties in the directory where run.bat run.sh is located. Local level properties for BasicInquiry demos are
loaded in the file: REGISTRY_HOME\demos\basic\inquiry\v3\env.properties
Windows: REGISTRY_HOMEdemosbasicinquiryv3env.properties
UNIX:
Table 5. Properties Used in Demos
Description Default value
Name
limit of data returned from registry
5 uddi.demos.result.max_rows
the inquiry Web service port URL
http:localhost:8888registryuddiinquiry uddi.demos.url.inquiry
Presentation and Functional Presentation
This section describes programing pattern used in all demos using the FindTModel demo as an example. You can find its source code in the file:
REGISTRY_HOME\demos\basic\inquiry\v3\src\demo\uddi\v3\inquiry\FindTModel.java Windows:
REGISTRY_HOMEdemosbasicinquiryv3srcdemouddiv3inquiryFindTModel.java UNIX:
The main method is straightforward. It gathers users input tModel name and findQualifier name, calls a method to initialize the Find_tModel object, executes the find_tModel UDDI call, and displays the list of found tModels:
String name = UserInput.readStringEnter name, demo; String findQualifier = UserInput.readStringEnter findQualifier, approximateMatch;
Find_tModel find_tModel = createFindByTModelname, findQualifier; TModelList result = findTModelfind_tModel;
printTModelListresult;
The createFindTModel method is used to create new instance of Find_tModel class and initialize it with values from parameters:
public static Find_tModel createFindByTModelString name, String findQualifier throws InvalidParameterException {
System.out.printlnfindQualifier = + findQualifier; System.out.printlnname = + name;
Find_tModel find_tModel = new Find_tModel; find_tModel.setNamenew Namename;
find_tModel.setMaxRowsnew IntegerMAX_ROWS; find_tModel.addFindQualifierfindQualifier;
return find_tModel; }
The helper method getInquiryStub returns the UDDI Inquiry stub of the web service listening at the URL specified in the URL_INQUIRY property.
Page 660
Presentation and Functional Presentation
public static UDDI_Inquiry_PortType getInquiryStub throws SOAPException {
you can specify your own URL in property - uddi.demos.url.inquiry String url = DemoProperties.getPropertyURL_INQUIRY,
http:localhost:8888registryuddiinquiry; System.out.printUsing Inquiry at url + url + ..;
UDDI_Inquiry_PortType inquiry = UDDIInquiryStub.getInstanceurl; System.out.println done;
return inquiry; }
The UDDI API call find_tModel is performed in the method findTModel: public static TModelList findTModelFind_tModel find_tModel
throws UDDIException, SOAPException { UDDI_Inquiry_PortType inquiry = getInquiryStub;
System.out.printSearch in progress ..; TModelList tModelList = inquiry.find_tModelfind_tModel;
System.out.println done; return tModelList;
}
The list of found tModels are printed with the method printTModelList. One interesting aspect of the Oracle Service Registry client API is that each UDDIObject contains method toXML, which returns a human-readable, formatted, listing
of its XML representation.
public static void printTModelListTModelList tModelList { System.out.println;
ListDescription listDescription = tModelList.getListDescription; if listDescription=null {
list description is mandatory part of result, if the resultant list is subset of available data
int includeCount = listDescription.getIncludeCount; int actualCount = listDescription.getActualCount;
int listHead = listDescription.getListHead; System.out.printlnDisplaying +includeCount+ of +
actualCount+, starting at position + listHead; }
TModelInfoArrayList tModelInfoArrayList = tModelList.getTModelInfoArrayList; if tModelInfoArrayList==null {
System.out.printlnNothing found; return;
}
int position = 1; for Iterator iterator = tModelInfoArrayList.iterator; iterator.hasNext; {
TModelInfo tModelTemplate = TModelInfo iterator.next; System.out.printlnTModel +position+ : +tModelTemplate.getTModelKey;
System.out.printlntModelTemplate.toXML; System.out.println;
System.out.println; position++;
Page 661
Presentation and Functional Presentation
} }
Building and Running Demos
This section shows how to build and run the Oracle Service Registry Basic Inquiry demo set. Our example continues with the FindTModel demo.
1. Be sure that the demos are properly configured and the Oracle Service Registry is up and running.
2. Change your working directory to:
REGISTRY_HOME\demos\basic\inquiry\v3 Windows:
REGISTRY_HOMEdemosbasicinquiryv3 UNIX:
3. Build all demos using:
run.bat make Windows:
.run.sh make UNIX:
Note
When compiling demos on Windows platforms, you may see the following text: A subdirectory or file ..\..\common\.\build\classes already exists.
This is expected and does not indicate a problem. 4.
To get list of all available demos, run run.bat help
Windows: .run.sh help
UNIX: 5.
Run a selected demo by executing the run command with the name of the demo as a parameter. For example, to run the FindTModel demo, invoke
run.bat FindBinding Windows:
.run.sh FindBinding UNIX:
The output of this demo will resemble the following: Enter name [demo]:
Enter findQualifier [approximateMatch]: findQualifier = approximateMatch
name = demo Using Inquiry at url http:localhost:8888registryuddiinquiry .. done
Search in progress .. done
Displaying 3 of 3, starting at position 1 TModel 1 : uddi:systinet.com:demo:departmentID
Page 662
Building and Running Demos
tModelInfo tModelKey=uddi:systinet.com:demo:departmentID xmlns=urn:uddi-org:api_v3
namedemo:departmentIDname descriptionIdentifier of the departmentdescription
tModelInfo
TModel 2 : uddi:systinet.com:demo:hierarchy tModelInfo tModelKey=uddi:systinet.com:demo:hierarchy
xmlns=urn:uddi-org:api_v3 namedemo:hierarchyname
descriptionBusiness hierarchy taxonomydescription tModelInfo
TModel 3 : uddi:systinet.com:demo:location:floor tModelInfo tModelKey=uddi:systinet.com:demo:location:floor xmlns=
urn:uddi-org:api_v3 namedemo:location:floorname
descriptionSpecifies floor, on which the department is locateddescription tModelInfo
6. To rebuild demos, execute
run.bat clean .run.sh clean
to delete the classes directory and run.bat make
.run.sh make to rebuild the demo classes.