WSDL Interface Guide
Introduction
This document describes the WSDL interface of Grimoires. Grimoires extends standard UDDI registry in that it not only provides UDDI publication and inquiry interface, but also provides other interfaces, for example, the WSDL interface.
Through WSDL interface, users can publish, update, delete, and retrieve a WSDL file in Grimoires, as well as inquire a service implementing a specified WSDL file.
In UDDI data model, the WSDL url of a web service is represented by a TModel. A UDDI service entity contains one or more binding templates, which refer to some TModel. However, UDDI specification lacks the capability to register the content of WSDL file.
The benefits of registering the content of WSDL file are, (1) we can attach metadata to entities inside WSDL files, (2) we can reason on the semantics of entities inside WSDL files based on some ontology information.
The WSDL file of the WSDL interface
Simple user guide
The simplest way to invoke the WSDL interface is to use Axis' wsdl2java to generate the stub from wsdl.wsdl above, then use the stub to communicate with Grimoires. The APIs of the WSDL interface is presented in the next section.
API
addWSDLFile
public String addWSDLFile(String filename) throws RemoteException;
Add a WSDL file to the repository.
Parameters:
filename - a string representing the url of the wsdl file.
Returns:
a string representing the WSDL key, which is the UUID for this WSDL file.
addWSDLFileAdvert
public String addWSDLFileAdvert(String filename, String advertContent) throws RemoteException;
Add a WSDL file with content to the repository.
Parameters:
filename - a string representing the url of the wsdl file.
advertContent - the content of wsdl file.
Returns
a string representing the WSDL key, which is the UUID for this WSDL file.
getWSDLAdvertContent
public String getWSDLAdvertContent(String key) throws RemoteException;
Return the WSDL content of the advert identified by the given key.
parameters:
key - WSDL key.
Returns:
the content of WSDL file.
getWSDLAdvertContentByURL
public String getWSDLAdvertContentByURL(String wsdlURL);
Return the WSDL content of the advert identified by the url of WSDL.
Parameters:
wsdlURL - the url of WSDL file.
Returns:
the content of WSDL file.
removeWSDLFile
public boolean removeWSDLFile(String filename) throws RemoteException;
Remove a WSDL file from the repository.
Parameters:
filename - the url of WSDL file.
Returns:
true or false indicating whether the deletion operation is successful.
findServicesByInterface
public String[] findServicesByInterface(String filename) throws RemoteException;
Return all UDDI services that are registered as implementing the WSDL interface at the given url.
Parameters:
filename - the url of wsdl file.
Returns:
the UDDI service keys.
getAllWSDLFiles
public String[] getAllWSDLFiles() throws RemoteException;
Return the URLs of all WSDL adverts registered in Grimoires.
Parameters:
Returns:
the urls of all registered WSDLs.
getOperationsByURL
public OperationDetail[] getOperationsByURL(String url) throws RemoteException;
class OperationDetail {
java.lang.String portTypeNamespace; // PortType namespace
java.lang.String portTypeName; // PortType name
java.lang.String operationName; // Operation name
}
Get the names of all operations in a WSDL file.
Parameters:
url - the url of the WSDL.
Returns:
an array of
OperationDetail? that describes the names of all operations defined in this WSDL. Each
OperationDetail? unambiguously describes the name of an operation.
getInputMessageOfOperation
getOutputMessageOfOperation
getFaultMessageOfOperation
public MessageDetail getInputMessageOfOperation(OperationDetail opDetail) throws RemoteException;
public MessageDetail getOutputMessageOfOperation(OperationDetail opDetail) throws RemoteException;
public MessageDetail getFaultMessageOfOperation(OperationDetail opDetail) throws RemoteException;
class MessageDetail {
java.lang.String messageNamespace; // Message namespace
java.lang.String messageName; // Message name
java.lang.String[] partName; // Names of message parts
}
Get the input, output, or fault message information for a certain operation.
Parameters:
opDetail - an
OperationDetail? object describing a certain operation.
Returns:
an
MessageDetail? object that gives the information for an input, output, or fault message: the namespace of the message, the name of the message, and the names of all parts of the message.
--
WeijianFang - 07 Feb 2005
to top