Skip to topic | Skip to bottom
Grimoires
Grimoires.WSDLInterfaceGuide

Start of topic | Skip to actions

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


You are here: Grimoires > WSDLInterfaceGuide

to top

Copyright 2004 by the University of Southampton