Download (direct link):
BulkResponse findOrganizations(Collection findQualifiers, Collection namePatterns, Collection classifications, Collection specifications, Collection externalIdentifiers, Collection externalLinks) Finds all Organization objects that match the parameters of this call.
BulkResponse findRegistryPackages(Collection findQualifiers, Collection namePatterns, Collection classifications, Collection externalLinks) Finds all RegistryPackage objects that match the parameters of the call.
BulkResponse findServiceBindings(Key Collection Collection Collection serviceKey, findQualifiers, classifications, specifications) Finds all ServiceBinding objects that match the parameters of this call.
BulkResponse findServices(Key orgKey Collection Collection Collection Collection findQualifiers, namePatterns, classifications, specifications) Finds all Service objects that match the parameters of this call.
As you can see from Table 47.1, the BusinessQueryManager interface queries the registry for information. In calling these methods, many searches can be constrained by collections of search qualifiers, patterns, classifications, external links, and specifications. Many of the methods return a BulkResponse object that contains a Collection of objects. Depending on the method call, the objects contained in the collection can be associations between registry instances (Association), taxonomies used to describe the classifications of registry objects (ClassificationScheme), taxonomy elements themselves (Concept) present in the registry, organizations in the registry (Organization), registry entries logically organized together (RegistryPackage), services that are available (Service), and bindings to interfaces of the service (ServiceBinding).
Where's the WSDL? Pitfalls of Using JAXR with UDDI 403
All of the objects in the collection contained by the BulkResponse objects are interfaces in the javax.xml.registry.infomodel package and are all subinterfaces to the RegistryObject class. Figure 47.1 shows the methods of the RegistryObject interface, as well as the classes that realize that interface. Because the RegistryObject interface contains a getExternalLinks() method, every class that implements this interface may have a named URI to content residing outside the registry—such as a Web Service Description Language (WSDL) document in a UDDI registry. As we show potential pitfalls in making JAXR searches, you will find that it is important to have an understanding of where objects in a registry reside.
+ addAssociation(Association assoc): void + addAssociations(Colleciton coll): void + addClassification(Classification classif): void + addClassifications(Collection coll): void + addExternalIdentifier(ExternalIdentifier ext): void + addExternalIdentifiers(Collection coll): void + addExternalLink(ExternalLink link): void + addExternalLinks(Collection coll): void + getAssociatedObjects(): Collection + getAssociations(): Collection + getAuditTrail(): Collection + getClassifications(): Collection + getDescription(): InternationalString + getExternalIdentifiers(): Collection + getExternalLinks(): Collection + getKey(): Key
+ getLifeCycleManager(): LifeCycleManager + getName(): InternationalString + getRegistryPackages(): Collection + getSubmittingOrganization(): Organization + removeAssociation(Association assoc): void + removeAssociations(Collection coll): void + removeClassification(Classification classif): void + removeClassifications(Collection coll): void + removeExternalIdentifier(ExternalIdentifier): void + removeExternalIdentifiers(Collection coll): void + removeExternalLink(ExternalLink link): void + removeExternalLinks(Collection coll): void + setAssociations(Colleciton coll): void + setClassifications(Collection coll): void + setDescription(InternationalString desc): void + setExternalIdentifiers(Collection coll): void + setExternalLinks(Collection coll): void + setKey(Key key): void + setName(InternationalString name): void + toXML(): String
ClassificationScheme - -
Figure 47.1 The RegistryObject interface.
404 Item 47
Where's the WSDL?
We're about to embark on a quest for a Web service's WSDL found in a UDDI registry. For our example, we would like to constrain the search by searching for a string found in an organization name in the registry. From there, we would like to print out all available Web services—and more importantly, their WSDL—so that we can dynamically call their Web services. To do this, we will modify our original code from Listing 47.1 and will replace that code's empty makeCall() method. For convenience, we will list the following code listings starting with line 64—this will make it easier when you download the code for the examples from our Web site.