1.1 Novell Teaming Web Services Implementation

Novell Teaming implements Java Web services, which provide a set of messages and parameters that client programs can use to exchange information with Novell Teaming. The alphabetized reference section in this documentation provides syntax and examples (Section 2.0, Web Services Message Reference). In addition, you can access the Novell Teaming Web Services Description Language (WSDL) file here:

http://localhost:8080/ssf/ws/Facade?wsdl

Replace the localhost specification with the host and port for your Novell Teaming installation.

NOTE:Novell Teaming does not currently publish its WSDL file using Universal Description, Discovery, and Integration (UDDI) or the Web Services Inspection Language (WSIL). Use the alphabetized reference section in this manual (Section 2.0, Web Services Message Reference) or the URL-generated WSDL file to understand the Novell Teaming message interface.

For Novell Teaming Version 1.0, regarding messages shown in the product source code, the search message is under development and subject to change or deletion at any time. Do not use this message in your client applications.

To implement lower-level details of its Web service calls, Novell Teaming uses methods included in the Apache Axis toolkit. As a very brief summary, Novell Teaming code calls Apache Axis methods. These methods convert the message to Simple Object Access Protocol (SOAP) calls. SOAP calls use Remote Procedure Calls (RPC) to call Novell Teaming Java methods. Conversion of information to and from EXtensible Markup Language (XML) is a part of this process.

NOTE:When presenting Web service examples in this manual, the code includes Apache Axis methods. If you are not using the Apache Axis toolkit, map the Axis methods to the ones provided by your vendor’s Web services toolkit.

Novell highly recommends using the supporting code for the wsclient.bat sample as a template for constructing your own Web service calls. This sample client is described in the next section (Section 1.1.1, Sample Clients).

When your application sends a message and its parameters, Novell Teaming returns either a string of XML data or a number. Messages that return a number are often ones that create a new object in Novell Teaming (for example, a folder or an entry), and the number uniquely identifies the newly created object.

The XML returned by Novell Teaming is free form and does not have a schema. When using Novell Teaming Web services, you need to read and intuit the XML elements in order to code your application so that it can parse the returned XML.

A subsequent section in this topic provides tips for obtaining values needed for various message parameters (Section 1.5, Notes about Specific Messages).

This section contains the following subsections:

1.1.1 Sample Clients

Novell Teaming provides sample clients that can assist you in learning how to use its Web services. These sample clients are located in the Novell Teaming code base. Visit the Open Source Community page for more information about downloading Novell Teaming source code.

The sample client is located here within the source code:

/ssf/samples/remotingclient

Here is a list of sample clients and the first Novell Teaming version that includes them:

  • wsclient.bat (V1+): This Windows batch file allows you to specify commands and parameters that use the Novell Teaming Web services. The initial pages of the messages-reference chapter provides a table mapping each of the wsclient.bat commands to its corresponding Web services message (Section 2.0, Web Services Message Reference). Regardless of platform, Novell recommends that you use the Java code that implements this batch file as a template for making Novell Teaming Web service calls.

  • wsExport.bat and wsImport.bat (V1.1+): These Windows batch files take data from a portion of the workspace and folder hierarchy and reproduce it on another file system. These tools are not a complete import and export facility, because they do not retain the workflow states, access-control settings, and history of the original objects.

The following Java file implements the wsclient.bat batch file:

/ssf/samples/remotingclient/src/com/sitescape/team/samples/remoting/client/ws/axis/WSClient.java

The following file provides sign-in information for wsclient.bat (start with the same path as shown in the previous example):

.../ws/security/PWCallbackText.java

This is another file used by wsclient.bat to log in:

/ssf/samples/remotingclient/client_deply.wsdd

Enabling wsclient.bat (Windows systems only)

Before using wsclient.bat, you need to do some work in your build to enable it. Using the Eclipse* build environment, click and drag this file into your Ant window:

/ssf/samples/remotingclient/build.xml

In the Ant window, open the wsclient build file, and double click zip.

Novell Teaming adds the remotingclient-sample.zip file to the /ssf/samples directory.

To use wsclient.bat, do the following:

  1. Use a command line window to cd to the /ssf/samples/remotingclient directory.

  2. Type wsclient.bat.

  3. On the same line, type a wsclient.bat command name and desired arguments.

    Command names are listed at the beginning of the topic containing the alphabetized Web services messages (Section 2.0, Web Services Message Reference).

  4. Press the Return key.

If the command executes successfully, Novell Teaming displays the return value in the command line window.

For example, to see an XML string containing summary data for all workspaces and folders that have defined teams, execute the following command in the /ssf/samples/remotingclient directory:

> wsclient.bat printTeams

If you want to execute the wsclient.bat file outside of the scope of the build environment’s file system, you can unzip the /ssf/samples/remotingclient-sample.zip file elsewhere on a Windows file system, use a command line window to cd to the location of that copy of the wsclient.bat file, and use the batch file there.

1.1.2 Novell Teaming-Specific Terminology

The following are Novell Teaming-specific definitions that can assist you when using the Novell Teaming Web services:

  • binder: A place, such as a workspace or folder.

  • binder configuration ID: A number that identifies the template used to create and configure a new workplace or folder. An upcoming section provides additional information about this identifier (Section 1.5.1, Adding Folders and the Binder Configuration Identifier).

  • binder ID: A unique number that identifies a specific workspace or folder.

  • data item name: A hidden-tag value that maps an HTML form element with a value stored in the Novell Teaming database.

  • definition ID: A unique, 32-character, hexadecimal identifier that maps to a definition for a specific type of entry. (You modify and create definitions using the designers in the administration portlet.) You need to specify this value when creating a new entry in a folder.

  • page: A hierarchical level in the workspace hierarchy that represents a subset of binders, most often used to group personal workspaces into sets that are convenient for display in the user interface (UI). An upcoming section provides additional information about this hierarchical level (Section 1.5.7, Binder Pages and getWorkspaceTreeAsXML).

  • principal: A registered user or a group.

  • principal ID: A unique number that identifies a specific user or group.