WSDL generation
Related information
Supported standard
TIBCO EBX® generates a WSDL that complies with the W3C Web Services Description Language 1.1 standard.
Operation types
A WSDL can be generated for different types of operations:
|
Operation type
|
WSDL description
|
|---|---|
custom
|
WSDL for EBX® add-ons.
|
dataset
|
WSDL for dataset and replication operations.
|
directory
|
WSDL for default EBX® directory operations. It is also possible to filter data using the tablePaths or operations parameters.
|
repository
|
WSDL for dataspace or snapshot management operations.
|
tables
|
WSDL for operations on the tables of a specific dataset.
|
userInterface
|
Deprecated since version 5.8.1. This operation type has been replaced by
administration. While the user interface management operations are still available for backward compatibility reasons, it is recommended to no longer use this type.
WSDL for user interface management operations (these operations can only be accessed by administrators).
|
administration
|
WSDL for administration operations like:
These operations can only be accessed by administrators.
|
workflow
|
WSDL for EBX® workflow management operations.
|
WSDL download methods
EBX® supports the following methods:
-
from the user interface
-
from HTTP protocol
A WSDL can only be downloaded by authorized profiles:
|
Operation type
|
Access right permissions
|
|---|---|
custom
|
All profiles, if at least one web service is registered.
|
dataset
|
All profiles.
|
directory
|
All profiles, if the following conditions are valid:
|
repository
|
All profiles.
|
tables
|
All profiles.
|
userInterface
|
Deprecated since version 5.8.1. This operation type has been replaced by
administration. While the user interface management operations are still available for backward compatibility reasons, it is recommended to no longer use this type.
Built-in administrator role or delegated administrator profiles, if all conditions are valid:
|
administration
|
Built-in administrator role or delegated administrator profiles, if all conditions are valid:
|
workflow
|
All profiles.
|
WSDL download from the user interface
An authorized user can download an EBX® WSDL from the data services administration area.
Note:
See Generating a WSDL for dataspace operations in the user guide for more information.
WSDL download from HTTP protocol
An application can download an EBX® WSDL using
GET or POST HTTP method. The application has to be authenticated using a profile with appropriate rights.
URL format
http[s]://<host>[:<port>]/<ebx-dataservices>/{type}[/{dataspace}[/{dataset}]]?{queryParameters}
Where:
-
<ebx-dataservices>corresponds to the 'ebx-dataservices.war' web application's path. The path is composed by multiple, or none, URI segments followed by the web application's name. -
{type}corresponds to the operation type. -
{dataspace}corresponds to the dataspace or snapshot identifier. -
{dataset}corresponds to the dataset name. -
{queryParameters}corresponds to common or dedicated operation parameters passed through the URL.
Parameters
A request parameter can be specified by one of the following methods:
-
a
PathParamwhich corresponds to a path segment from the URL (recommended) -
a
QueryParamwhich corresponds to a standard HTTP parameter with value.
|
Parameter name
|
PathParam
|
QueryParam
|
Required
|
Description
|
|---|---|---|---|---|
WSDL
|
no
|
yes
|
yes
|
Specifies the WSDL download operation.
Empty value.
|
login
|
no
|
yes
|
no
|
Specifies the user identifier.
Required when the standard authentication method is used.
String type value.
|
password
|
no
|
yes
|
no
|
Specifies the user password.
Required when the standard authentication method is used.
String type value.
|
type
|
yes
|
no
|
yes
|
Specifies the operation type.
Possible values are:
custom, dataset, directory, administration, userInterface, repository, tables or workflow.
String type value.
|
branch
version
|
yes
|
yes
|
(*)
|
Specifies the dataspace or the snapshot identifier.
(*) required for
tables and dataset types, ignored otherwise.
String type value.
|
instance
|
yes
|
yes
|
(*)
|
Specifies the dataset name.
String type value.
|
tablePaths
|
no
|
yes
|
no
|
Specifies the list of table paths.
Optional for
tables or directory types, ignored otherwise.
If not defined, all tables are selected.
Each table path is separated by a comma character.
String type value.
|
operations
|
no
|
yes
|
no
|
Allows generating a WSDL for an operations subset.
Optional for
tables or directory operation types, ignored otherwise. If not defined, all operations for the given type are generated.
This parameter's value is a concatenation of one or more of the following characters:
String type value.
|
namespaceURI
|
yes
|
yes
|
(**)
|
Specifies the unique name space URI of the custom web service.
(**)Is required when
type parameter is set to custom, ignored otherwise.
URI type value.
|
attachmentFilename
|
no
|
yes
|
(***)
|
Specifies the attachment file name.
(***) optional if
isContentInAttachment parameter is defined and set to true, ignored otherwise.
String type value.
|
isContentInAttachment
|
no
|
yes
|
no
|
Specifies if the WSDL is downloaded as an attachment.
Boolean type value.
Default value is false.
|
targetNamespace
|
no
|
yes
|
no
|
Overrides the target namespace URI of the WSDL.
URI type value.
Default value is urn:ebx:ebx-dataservices.
|
Message body
No message body is required.
HTTP codes
An HTTP code is always returned. Errors are indicated by a code above 400.
|
Status code
|
Information
|
|---|---|
200 (OK)
|
The WSDL content was successfully generated and is returned by the request (optionally in an attachment).
|
400 (Bad request)
|
The request is incorrect. This occurs when:
|
401 (Unauthorized)
|
Request requires an authenticated user.
|
403 (Forbidden)
|
Request is not allowed for the authenticated user.
|
405 (Method not allowed)
|
Request is not allowed in this configuration.
|
500 (Internal error)
|
Request generates an error (a stack trace and a detailed error message are returned).
|
Response body
The response body depends on the returned status code and on the requested WSDL content.
-
200(OK): the HTTP headerContent-Typeis set totext/xml;charset=UTF-8.If the content is in attachment, the HTTP headerContent-Dispositionis set toattachment; filename*=UTF-8''<filename.wsdl>. -
4xx: A detailed message is returned in the body. The HTTP headerContent-Typeis set totext/html;charset=utf-8.
HTTP examples
Some of the following examples are displayed in two methods:
PathParam and QueryParam.
-
The WSDL will contain all repository operations, using standard authentication method.
http[s]://<host>[:<port>]/<ebx-dataservices>/repository?WSDL&login=<login>&password=<password> -
The WSDL will contain all workflow operations.
http[s]://<host>[:<port>]/<ebx-dataservices>/workflow?WSDL -
The WSDL will contain all tables operations for the
'dataset1'dataset in'dataspace1'dataspace.PathParamhttp[s]://<host>[:<port>]/<ebx-dataservices>/tables/dataspace1/dataset1?WSDLQueryParamhttp[s]://<host>[:<port>]/<ebx-dataservices>/tables?WSDL&branch=<dataspace1>&instance=<dataset1> -
The WSDL will contain all tables with only read operations for the
'dataset1'dataset in'dataspace1'dataspace.PathParamhttp[s]://<host>[:<port>]/<ebx-dataservices>/tables/dataspace1/dataset1?WSDL&operations=RQueryParamhttp[s]://<host>[:<port>]/<ebx-dataservices>/tables?WSDL&branch=dataspace1&instance=dataset1&operations=R -
The WSDL will contain the two selected tables operations for the
'dataset1'dataset in'dataspace1'dataspace.PathParamhttp[s]://<host>[:<port>]/<ebx-dataservices>/tables/dataspace1/dataset1?WSDL&tablePaths=/root/table1,/root/table2QueryParamhttp[s]://<host>[:<port>]/<ebx-dataservices>/tables?WSDL&branch=dataspace1&instance=dataset1&tablePaths=/root/table1,/root/table2 -
The WSDL will contain custom web service operations for the dedicated URI.
PathParamhttp[s]://<host>[:<port>]/<ebx-dataservices>/custom/urn:ebx-test:com.orchestranetworks.dataservices.WSDemo?WSDLQueryParamhttp[s]://<host>[:<port>]/<ebx-dataservices>/custom?WSDL&namespaceURI=urn:ebx-test:com.orchestranetworks.dataservices.WSDemo