JBoss.orgCommunity Documentation
Table of Contents
jUDDI includes a Inquiry API adapter that exposes some of the basic functionality of UDDI via REST. Data can be retrieved in both XML and JSON encoding for all methods.
All endpoints must be prefixed with http(s)://server:port/juddicontext/ where juddicontext is typically juddiv3.
WADL Document: http://localhost:8080/juddiv3/services/inquiryRest?_wadl
All of the examples in this document reference JSON encoded messages. To switch to XML messages, just replace the JSON with XML in the URL. That’s it!
Each method is accessible using the following pattern:
http://localhost:8080/juddiv3/services/inquiryRest/{encoding}/{method}/{parameters} //or http://localhost:8080/juddiv3/services/inquiryRest/{encoding}/{method}?{name=value}
Notes
Returns up to 100 items within a KeyBag object, containing a list of all keys for the given object type.
Returns all executable endpoints for a given service key, including all binding Templates. This also resolves hosting redirector and a number of other accessPoint useType specifics.
Example:
http://localhost:8080/juddiv3/services/inquiryRest/JSON/endpointsByService/uddi:juddi.apache.org:services-custodytransfer
Return the details of a specific item using query parameters. This implements the UDDI recommendation for HTTP GET services for UDDI. See http://uddi.org/pubs/uddi-v3.0.2-20041019.htm#_Toc85908158 for further information.
Example:
http://localhost:8080/juddiv3/services/inquiryRest/XML/getDetail?businessKey=uddi:juddi.apache.org:businesses-asf
The following query parameters are supported. Only one can be specified at a time
Return the details of a specific item. This is similar to getDetail except that it is not based on query parameters. The underlying code of this function is the same as getDetail.
Example:
Returns the search results for registered entities in XML or JSON using a number of query parameters.
Supported entities: . searchService . searchBusiness . searchTModel
Supported query parameters . name - Filters by the name element. If not specified, the wildcard symbol is used %. . lang - Filters by language. If not specified, null is used. . findQualifiers - Adds sorting or additional find parameters. comma delimited. If not specified, approximateMatch is used . maxrows - Maximum rows returned. If not specified, 100 is used. . offset - Offset for paging operations. If not specified, 0 is used.
The output of all XML encoded messages is identical to the UDDI schema specifications. There should be no surprises.
The output of JSON encoded messages is obviously different than XML. The following is an example of what it looks like.
{ "businessEntity": { "@businessKey": "uddi:juddi.apache.org:businesses-asf", "discoveryURLs": { "discoveryURL": { "@useType": "homepage", "$": "http://localhost:8080/juddiv3" } }, "name": { "@xml.lang": "en", "$": "An Apache jUDDI Node" }, "description": { "@xml.lang": "en", "$": "This is a UDDI v3 registry node as implemented by Apache jUDDI." }, "businessServices": { "businessService": [ { "@serviceKey": "uddi:juddi.apache.org:services-custodytransfer", "@businessKey": "uddi:juddi.apache.org:businesses-asf", "name": { "@xml.lang": "en", "$": "UDDI Custody and Ownership Transfer Service" }, "description": { "@xml.lang": "en", "$": "Web Service supporting UDDI Custody and Ownership Transfer API" }, "bindingTemplates": { "bindingTemplate": [ { "@bindingKey": "uddi:juddi.apache.org:servicebindings-custodytransfer-ws", "@serviceKey": "uddi:juddi.apache.org:services-custodytransfer", "description": "UDDI Custody and Ownership Transfer API V3", "accessPoint": { "@useType": "wsdlDeployment", "$": "http://localhost:8080/juddiv3/services/custody-transfer?wsdl" }, "tModelInstanceDetails": { "tModelInstanceInfo": { "@tModelKey": "uddi:uddi.org:v3_ownership_transfer", "instanceDetails": { "instanceParms": "\n \n <?xml version=\"1.0\" encoding=\"utf-8\" ?>\n <UDDIinstanceParmsContainer\n xmlns=\"urn:uddi-org:policy_v3_instanceParms\">\n <authInfoUse>required</authInfoUse>\n </UDDIinstanceParmsContainer>\n \n " } } }, "categoryBag": { "keyedReference": { "@tModelKey": "uddi:uddi.org:categorization:types", "@keyName": "uddi-org:types:wsdl", "@keyValue": "wsdlDeployment" } } }, { "@bindingKey": "uddi:juddi.apache.org:servicebindings-custodytransfer-ws-ssl", "@serviceKey": "uddi:juddi.apache.org:services-custodytransfer", "description": "UDDI Custody and Ownership Transfer API V3 SSL", "accessPoint": { "@useType": "wsdlDeployment", "$": "https://localhost:8443/juddiv3/services/custody-transfer?wsdl" }, "tModelInstanceDetails": { "tModelInstanceInfo": [ { "@tModelKey": "uddi:uddi.org:v3_ownership_transfer", "instanceDetails": { "instanceParms": "\n \n <?xml version=\"1.0\" encoding=\"utf-8\" ?>\n <UDDIinstanceParmsContainer\n xmlns=\"urn:uddi-org:policy_v3_instanceParms\">\n <authInfoUse>required</authInfoUse>\n </UDDIinstanceParmsContainer>\n \n " } }, { "@tModelKey": "uddi:uddi.org:protocol:serverauthenticatedssl3" } ] }, "categoryBag": { "keyedReference": { "@tModelKey": "uddi:uddi.org:categorization:types", "@keyName": "uddi-org:types:wsdl", "@keyValue": "wsdlDeployment" } } } ] } } ] }, "categoryBag": { "keyedReference": { "@tModelKey": "uddi:uddi.org:categorization:nodes", "@keyName": "", "@keyValue": "node" } } } }
For more information, please check out the source code: http://svn.apache.org/repos/asf/juddi/trunk/juddi-rest-cxf/