Cover Pages Logo SEARCH
Advanced Search
ABOUT
Site Map
CP RSS Channel
Contact Us
Sponsoring CP
About Our Sponsors

NEWS
Cover Stories
Articles & Papers
Press Releases

CORE STANDARDS
XML
SGML
Schemas
XSL/XSLT/XPath
XLink
XML Query
CSS
SVG

TECHNOLOGY REPORTS
XML Applications
General Apps
Government Apps
Academic Apps

EVENTS
LIBRARY
Introductions
FAQs
Bibliography
Technology and Society
Semantics
Tech Topics
Software
Related Standards
Historic

Content Services: WSDL Definition


From http://www.interwoven.com/company/standards/content-services/services1.0.wsdl.

<?xml version="1.0" encoding="UTF-8"?>
<definitions 
  targetNamespace="http://content-services.org/services1.0.wsdl"
  xmlns="http://schemas.xmlsoap.org/wsdl/" 
  xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" 
  xmlns:schema="http://content-services.org/services1.0.xsd"
  xmlns:xsd="http://www.w3.org/2001/XMLSchema"
  xmlns:ns="http://content-services.org/services1.0.wsdl">

  <!-- ==========================================================
                                types 
       ========================================================== -->

  <types>
    <schema 
      targetNamespace="http://content-services.org/services1.0.xsd" 
      xmlns="http://www.w3.org/2001/XMLSchema"
      xmlns:schema="http://content-services.org/services1.0.xsd">

  <!-- ==========================================================
                        complex type definitions
       ========================================================== -->

      <complexType name="CSPathCommentPair">
        <sequence>
          <element name="areaRelativePath"  type="xsd:string"/>
          <element name="comment"           type="xsd:string"/>
        </sequence>
      </complexType>

      <complexType name="CSPathStatusPair">
        <sequence>
          <element name="areaRelativePath"  type="xsd:string"/>
          <element name="statusCode"        type="xsd:int"/>
          <element name="statusMessage"     type="xsd:string"/>
        </sequence>
      </complexType>

      <complexType name="CSFile">
        <sequence>
          <element name="areaRelativePath"  type="xsd:string"/>
          <element name="lastModDate"       type="xsd:dateTime"/>
          <element name="lastModUser"       type="xsd:string"/>
          <element name="kind"              type="xsd:string"/>
          <element name="size"              type="xsd:long"/>
          <element name="owner"             type="xsd:string"/>
          <element name="isLocked"          type="xsd:boolean"/>
          <element name="isModified"        type="xsd:boolean"/>
          <element name="isReadable"        type="xsd:boolean"/>
          <element name="isWritable"        type="xsd:boolean"/>
          <element name="relatedTaskArray"  type="schema:CSTaskIdArray">
            <annotation>
              <documentation>
                This array holds ID's of all tasks that contain this file.
              </documentation>
            </annotation>
          </element>
          <element name="lockAreaVPath"      type="xsd:string"/>
          <element name="lockOwner"          type="xsd:string"/>
          <element name="lockCreationTime"   type="xsd:dateTime"/>
          <element name="lockComment"        type="xsd:string"/>
          <element name="webDeskContentType" type="xsd:string">
            <annotation>
              <documentation>
                See documentation in 'WebDeskUtility'.
              </documentation>
            </annotation>
          </element>
          <element name="webDeskViewHelper"  type="schema:CSWebDeskHelper">
            <annotation>
              <documentation>
                See documentation in 'WebDeskUtility'.
              </documentation>
            </annotation>
          </element>
          <element name="webDeskSceHelper"   type="schema:CSWebDeskHelper">
            <annotation>
              <documentation>
                See documentation in 'WebDeskUtility'.
              </documentation>
            </annotation>
          </element>
          <element name="webDeskFileHelper"  type="schema:CSWebDeskHelper">
            <annotation>
              <documentation>
                See documentation in 'WebDeskUtility'.
              </documentation>
            </annotation>
          </element>
          <element name="webDeskPreviewHelper" type="schema:CSWebDeskHelper">
            <annotation>
              <documentation>
                See documentation in 'WebDeskUtility'.
              </documentation>
            </annotation>
          </element>
        </sequence>
      </complexType>

      <complexType name="CSTask">
        <sequence>
          <element name="taskId"               type="xsd:long"/>
          <element name="description"          type="xsd:string"/>
          <element name="owner"                type="xsd:string"/>
          <element name="isActive"             type="xsd:boolean"/>
          <element name="activationTime"       type="xsd:dateTime"/>
          <element name="expirationTime"       type="xsd:dateTime"/>
          <element name="isUndoable"           type="xsd:boolean"/>
          <element name="isReadOnly"           type="xsd:boolean"/>
          <element name="activeSubWorkflowId"  type="xsd:long"/>
          <element name="templateFilePath"     type="xsd:string"/>
          <element name="areaVPath"            type="xsd:string"/>

          <element name="kind"                 type="xsd:string">
            <annotation>
              <documentation> 'kind' must be one of:
                end
                dummy
                lock
                submit
                update
                program
                cgi
                user
                usergroup
                workflow
              </documentation>
            </annotation>
          </element>
          <element name="name"                  type="xsd:string"/>
          <element name="cgiData"               type="xsd:string"/>
          <element name="workflowOwner"         type="xsd:string"/>
          <element name="dueDate"               type="xsd:dateTime"/>
          <element name="priority"              type="xsd:string"/>
          <element name="taskTransitionArray"
                   type="schema:CSTaskTransitionArray"/>
          <element name="taskFileArray" 
                   type="schema:CSTaskFileArray"/>
          <element name="taskCommentArray"      type="schema:CSCommentArray"/>
        </sequence>
      </complexType>

      <complexType name="CSTemplateCategory">
        <sequence>
          <element name="name" type="xsd:string">
            <annotation>
              <documentation>This is the name of the category, e.g.
                "internet", "intranet".
              </documentation>
            </annotation>
          </element>
          <element name="templateTypeArray"
                   type="schema:CSTemplateTypeArray"/>
        </sequence>
      </complexType>

      <complexType name="CSTemplateType">
        <sequence>
          <element name="name" type="xsd:string">
            <annotation>
              <documentation>This is the name of the type, e.g.
                "auction", "pr".
              </documentation>
            </annotation>
          </element>
          <element name="id" type="xsd:string">
            <annotation>
              <documentation>
                This is the full name, or id, of the type, e.g.
                "internet/auction", "internet/pr".
              </documentation>
            </annotation>
          </element>
        </sequence>
      </complexType>

      <complexType name="CSTaskFile">
        <sequence>
          <element name="areaRelativePath"      type="xsd:string"/>
          <element name="commentArray"          type="schema:CSCommentArray"/>
        </sequence>
      </complexType>

      <complexType name="CSNameValuePair">
        <sequence>
          <element name="name"                  type="xsd:string"/>
          <element name="value"                 type="xsd:string"/>
        </sequence>
      </complexType>

      <complexType name="CSWebDeskHelper">
        <annotation>
          <documentation>
            To reach a WebDesk destination, one must POST the 
            name/value pairs in 'data' to the 'action' URL.
          </documentation>
        </annotation>
        <sequence>
          <element name="action" type="xsd:anyURI"/>
          <element name="data" type="schema:CSNameValuePairArray"/>
        </sequence>
      </complexType>

      <complexType name="CSWebDeskUtility">
        <annotation>
          <documentation>
            A 'WebDeskUtility' contains multiple 
            'WebDeskHelper' objects.  Each helper allows the 
            SOAP client to emulate a WebDesk operation.  See the 
            documentation for 'WebDeskHelper' for information 
            on how to use a 'WebDeskHelper' object.
          </documentation>
        </annotation>
        <sequence>
          <element name="webDeskContentType"    type="xsd:string">
            <annotation>
              <documentation>'webDeskContentType' must be one of:
                general
                DCR
                DCR-generated file
              </documentation>
            </annotation>
          </element>
          <element name="webDeskEditHelper"     type="schema:CSWebDeskHelper">
            <annotation>
              <documentation>
                This is a helper that will launch TeamSite Templating
                or LaunchPad (whichever is appropriate for the
                file) so that the user can edit the TeamSite 
                Templating record or the file.  It is analogous to
                the 'Edit' Action in WebDesk and the 'Edit File'
                button in WebDesk Pro.
              </documentation>
            </annotation>
          </element>
          <element name="webDeskSubmitHelper"   type="schema:CSWebDeskHelper">
            <annotation>
              <documentation>
                This is a helper that will launch a submit workflow
                instantiator.  It is analogous to the 'Submit' 
                buttons in WebDesk and WebDesk Pro.
              </documentation>
            </annotation>
          </element>
          <element name="webDeskViewHelper"     type="schema:CSWebDeskHelper">
            <annotation>
              <documentation>
                This is a helper that will launch TeamSite Templating
                (in read-only mode) or LaunchPad (whichever is 
                appropriate for the file) so that the user can view 
                the TeamSite Templating record or the file.  It is 
                analogous to the 'View File' button in WebDesk Pro.
              </documentation>
            </annotation>
          </element>
          <element name="webDeskSceHelper"      type="schema:CSWebDeskHelper">
            <annotation>
              <documentation>
                This is a helper that will launch SmartContext
                Editing on the file.  For a TeamSite Templating
                data content record, SCE instead opens the TeamSite
                Templating data capture form in read-only mode.
                This helper is analogous to clicking on a file's 
                name in WebDesk or WebDesk Pro.
              </documentation>
            </annotation>
          </element>
          <element name="webDeskFileHelper"     type="schema:CSWebDeskHelper">
            <annotation>
              <documentation>
                This is a helper that can be used to retrieve the
                raw file contents from the TeamSite server's web 
                server.  Because using this helper to get the file's 
                contents uses HTTP to communicate with the TeamSite 
                server's web server, it has the advantage of also 
                providing a correct MIME type for the file.  There 
                is no analogous WebDesk action.
              </documentation>
            </annotation>
          </element>
          <element name="webDeskPreviewHelper"  type="schema:CSWebDeskHelper">
            <annotation>
              <documentation>
                This is a helper that will preview a TeamSite
                Templating DCR.  It is analogous to the 'Preview'
                button the TeamSite Templating data capture form.
                This helper is applicable only when the 
                'webDeskContentType' is 'DCR'.
              </documentation>
            </annotation>
          </element>
        </sequence>
      </complexType>

      <complexType name="CSFileSegment">
        <sequence>
          <element name="fileContents"          type="xsd:base64Binary"/>
          <element name="isEndOfFile"           type="xsd:boolean"/>
          <element name="fileSize"              type="xsd:long"/>
        </sequence>
      </complexType>

      <complexType name="CSExtendedAttribute">
        <sequence>
          <element name="name"                  type="xsd:string"/>
          <element name="value"                 type="xsd:string"/>
        </sequence>
      </complexType>

  <!-- ==========================================================
                           array definitions 
       ========================================================== -->

      <complexType name="CSPathCommentPairArray" base="soap:Array">
        <sequence>
          <element name="pathCommentPair"
                   type="schema:CSPathCommentPair" maxOccurs="unbounded"/>
        </sequence>
      </complexType>

      <complexType name="CSPathStatusPairArray" base="soap:Array">
        <sequence>
          <element name="pathStatusPair"
                   type="schema:CSPathStatusPair" maxOccurs="unbounded"/>
        </sequence>
      </complexType>

      <complexType name="CSAreaRelativePathArray" base="soap:Array">
        <sequence>
          <element name="areaRelativePath"
                   type="xsd:string" maxOccurs="unbounded"/>
        </sequence>
      </complexType>

      <complexType name="CSLocalFilePathArray" base="soap:Array">
        <sequence>
          <element name="localFilePath"
                   type="xsd:string" maxOccurs="unbounded"/>
        </sequence>
      </complexType>

      <complexType name="CSFileArray" base="soap:Array">
        <sequence>
          <element name="file" type="schema:CSFile" maxOccurs="unbounded"/>
        </sequence>
      </complexType>

      <complexType name="CSTaskIdArray" base="soap:Array">
        <sequence>
          <element name="taskId"
                   type="xsd:long" maxOccurs="unbounded"/>
        </sequence>
      </complexType>

      <complexType name="CSTaskArray" base="soap:Array">
        <sequence>
          <element name="task"
                   type="schema:CSTask" maxOccurs="unbounded"/>
        </sequence>
      </complexType>

      <complexType name="CSTemplateCategoryArray" base="soap:Array">
        <sequence>
          <element name="templateCategory"
                   type="schema:CSTemplateCategory" maxOccurs="unbounded"/>
        </sequence>
      </complexType>

      <complexType name="CSTemplateTypeArray" base="soap:Array">
        <sequence>
          <element name="templateType"
                   type="schema:CSTemplateType" maxOccurs="unbounded"/>
        </sequence>
      </complexType>

      <complexType name="CSTaskFileArray" base="soap:Array">
        <sequence>
          <element name="taskFile"
                   type="schema:CSTaskFile" maxOccurs="unbounded"/>
        </sequence>
      </complexType>

      <complexType name="CSNameValuePairArray" base="soap:Array">
        <sequence>
          <element name="nameValuePair"
                   type="schema:CSNameValuePair" maxOccurs="unbounded"/>
        </sequence>
      </complexType>

      <complexType name="CSCommentArray" base="soap:Array">
        <sequence>
          <element name="comment" type="xsd:string" maxOccurs="unbounded"/>
        </sequence>
      </complexType>

      <complexType name="CSTaskTransitionArray" base="soap:Array">
        <sequence>
          <element name="taskTransition"
                   type="xsd:string" maxOccurs="unbounded"/>
        </sequence>
      </complexType>

      <complexType name="CSExtendedAttributeNameArray" base="soap:Array">
        <sequence>
          <element name="extendedAttributeName"
                   type="xsd:string" maxOccurs="unbounded"/>
        </sequence>
      </complexType>

      <complexType name="CSExtendedAttributeArray" base="soap:Array">
        <sequence>
          <element name="extendedAttribute"
                   type="schema:CSExtendedAttribute" maxOccurs="unbounded"/>
        </sequence>
      </complexType>
    </schema>
  </types>

  <!-- ==========================================================
                              faults 
       ========================================================== -->

  <message name="fault">
    <documentation>
    </documentation>
    <part/>
  </message>


  <!-- ==========================================================
                    session management messages
       ========================================================== -->

  <message name="startSession">
    <documentation>
      A client which wishes to create a new session sends
      a startSession message to the service host.
    </documentation>
    <part name="username"    type="xsd:string">
      <documentation>
        The identifier used to authenticate the user.
      </documentation>
    </part>
    <part name="password"    type="xsd:string">
      <documentation>The password used to authenticate the user.
        The password is not encrypted. Therefore, the startSession
        message SHOULD be sent only over a secure connection. Clients
        MAY send this over an unencrypted connection, typically 
        when debugging.
      </documentation>
    </part>
    <part name="role"      type="xsd:string">
      <documentation>
        An identifier for the role (author, editor, ...) the user
        wishes to assume in this session. Implementations must
        support at least the four roles: "Author", "Editor",
        "Administrator", and "Master". Implementations MAY support
        additional values, but interoperation cannot be guaranteed
        for additional roles. If a client supplies a role not supported
        by the server, it shall return a fault message.
      </documentation>
    </part>
    <part name="locale"    type="xsd:string">
      <documentation>The user's locale, provided for localization.
      </documentation>
    </part>
    <part name="pathDelimiter" type="xsd:string">
      <documentation>
        <p>The delimiter character to use in filesystem paths.
        </p>
        <p>If 'pathDelimiter' is '\', then all paths returned from the 
          server will use '\' as the path delimiter.  Otherwise, all
          paths returned from the server use '/' as the path
          delimiter. 
        </p>
      </documentation>
    </part>
  </message>
  <message name="startSessionResponse">
    <documentation>Message from server to client in response to a
      startSession message. Contains the token identifying the session.
      All future messages from the client in this session requesting
      services must supply this token.
    </documentation>
    <part name="sessionToken"  type="xsd:string">
      <documentation>
       Unique token for this session on this server.
      The token is an arbitrary string. Server implementations are advised to
      limit the length of the returned token to no more than 1kB. However,
      client and server implementers are advised to take normal precautions
      about buffer overrun attacks.
      Note that the token is not encrypted. This means that a hostile
      intermediary could impersonate the user in future transactions.
      Therefore, the use of a secure communications channel, such as
      https, is recommended.
      </documentation>
    </part>
  </message>

  <message name="endSession">
    <documentation>
      Message from client signaling the end of the session. The server
      shall free any resources used in maintaining the session. If the
      server receives any later messages with that sessionToken it
      SHOULD respond with a fault message.
    </documentation>
    <part name="sessionToken" type="xsd:string">
      <documentation>
        The token used to persistently identify a session. 
      </documentation>
    </part>
  </message>
  <message name="endSessionResponse">
    <documentation>
      Message from server in response to client's endSession request.
      Server SHALL return a fault if the request failed.
    </documentation>
  </message>

  <message name="ping">
    <documentation>
      Message from client to check that the server is running. This
      message, like the "ping" program, may also be used to measure
      network latency.
    </documentation>
    <part name="packetIn"  type="xsd:string">
      <documentation>
        Arbitrary data to send to server. It will be sent back to the
        client in the server's pingResponse message.
      </documentation>
    </part>
  </message>
  <message name="pingResponse">
    <documentation>
      Message from server to client in response to a ping message. 
      Contains the same data that was sent in the ping message from 
      the client to the server.
    </documentation>
    <part name="packetOut" type="xsd:string">
      <documentation>
        A copy of the data packetIn of the ping request.
      </documentation>
    </part>
  </message>

  <message name="getVersionString">
    <documentation>
      Message from client to retrieve a string identifying the
      version of the server software. Note that this is NOT a
      string identifying what version of the Content Services
      interface is being used. That information is available in
      the namespace declaration.
    </documentation>
  </message>
  <message name="getVersionStringResponse">
    <documentation>
      Message from server to client in response to a getVersionString
      message. Contains the version string of the server.
    </documentation>
    <part name="versionString" type="xsd:string">
      <documentation>
        A character string identifying the version of the server
        software. It is expected to typically contain information
        such as the name of the organization which developed the
        server software, and any version information they wish
        to provide. The precise content of this string is
        unspecified.
      </documentation>
    </part>
  </message>


  <!-- ==========================================================
                            workflow messages
     ========================================================== -->

  <message name="getTasks">
    <documentation>
      Request from client that workflow server respond with
      the list of tasks assigned to the user identified by
      the supplied sessionToken.
    </documentation>
    <part name="sessionToken" type="xsd:string">
      <documentation>
        The token used to identify the current session.
      </documentation>
    </part>
    <part name="taskQuery"  type="xsd:string">
      <documentation>
        If 'taskQuery' is empty, then 'taskArray' will 
        contain all displayable tasks for this user.
        If a non-empty query is provided, it MUST validate according
        to the taskQuery DTD provided external to this file.
      </documentation>
    </part>
  </message>
  <message name="getTasksResponse">
    <documentation>Message from server to client in response to a
      getTasks message. Contains the (possibly empty) list of tasks.
    </documentation>
    <part name="taskArray"  type="schema:CSTaskArray">
      <documentation>
        The array of tasks for the user and role corresponding to the
        sessionToken supplied in the getTasks request.
      </documentation>
    </part>
  </message>

  <message name="getTasksWithoutFiles">
    <documentation>Request from client that workflow server respond
      with the list of tasks assigned to the user identified by
      the supplied sessionToken. All the CSTasks in the response
      will have an empty taskFileArray. This request is an alternative
      to the getTasks request. It offers higher performance by
      sacrificing some data not always needed.
    </documentation>
    <part name="sessionToken" type="xsd:string">
      <documentation>
        The token used to identify the current session.
      </documentation>
    </part>
    <part name="taskQuery"  type="xsd:string">
      <documentation>
        If 'taskQuery' is empty, then 'taskArray' will 
        contain all displayable tasks for this user. Otherwise, the
        taskQuery element must validate according to the taskQuery
        DTD given external to this file.
      </documentation>
    </part>
  </message>
  <message name="getTasksWithoutFilesResponse">
    <documentation>Message from workflow server in response to a client's
      getTasksWithoutFiles request.
    </documentation>
    <part name="taskArray"  type="schema:CSTaskArray">
      <documentation>The array of returned tasks.</documentation>
    </part>
  </message>

  <message name="getTasksById">
    <documentation>
      Message from client to workflow server requesting that it supply
      the details for the tasks identified in a list of taskIDs.
    </documentation>
    <part name="sessionToken" type="xsd:string">
      <documentation>The token used to identify the current session.
      </documentation>
    </part>
    <part name="taskIdArray"  type="schema:CSTaskIdArray">
      <documentation>The array of taskIDs. If the workflow server
        receives a taskID that does not have a matching task, it must
        return a fault message.
      </documentation>
    </part>
  </message>
  <message name="getTasksByIdResponse">
    <documentation>Message from server to client in response to a
      getTasksById message. Contains an array of Tasks which matched the
      supplied array of taskIDs. The order of the tasks in the array
      is not specified.
    </documentation>
    <part name="taskArray"  type="schema:CSTaskArray">
      <documentation>The array of tasks.
        If the server did not have a task whose
        ID matched any ID in the request list, it must return
        a fault message instead of this response.
      </documentation>
    </part>
  </message>

  <message name="addTaskComment">
    <documentation>
      Request from client that workflow server add a comment to
      the array of comments it maintains for a particular task.
    </documentation>
    <part name="sessionToken" type="xsd:string">
      <documentation>
        The token used to identify the current session.
      </documentation>
    </part>
    <part name="taskId"     type="xsd:long">
      <documentation>
        Identifier for the task to update.
      </documentation>
    </part>
    <part name="comment"    type="xsd:string">
      <documentation>The comment to add to the taskCommentArray.
      </documentation>
    </part>
  </message>
  <message name="addTaskCommentResponse">
    <documentation>
      Message from server in response to client's addTaskComment request.
      Server SHALL return a fault if the request failed.
    </documentation>
  </message>

  <message name="addTaskFileComment">
    <documentation>Request from client that the workflow server add a
      comment to a file, as associated with a particular task. A file may
      be associated with multiple tasks. Within a task, each file
      has a distinct array of comments separate from and in addition to
      the array of comments associated with the task. This message
      adds a new comment to that array.
    </documentation>
    <part name="sessionToken"   type="xsd:string">
      <documentation>The token identifying the current session.
      </documentation>
    </part>
    <part name="taskId"       type="xsd:long">
      <documentation>ID for the task to update.
      </documentation>
    </part>
    <part name="areaRelativePath" type="xsd:string">
      Path to the file to comment on, relative to the user's workarea.
    </part>
    <part name="comment"      type="xsd:string">
      <documentation>The comment to add to the task.</documentation>
    </part>
  </message>
  <message name="addTaskFileCommentResponse">
    <documentation>
      Message from server in response to client's addTaskFileComment request.
      Server SHALL return a fault if the request failed.
    </documentation>
  </message>

  <message name="addTaskFiles">
    <documentation>Associates a list of files with a task, typically
      for the purpose of requesting their review or editing.
    </documentation>
    <part name="sessionToken"          type="xsd:string">
      <documentation>The token used to identify the current session.
      </documentation>
    </part>
    <part name="taskId"                type="xsd:long">
      <documentation>ID of the task to update.
      </documentation>
    </part>
    <part name="areaRelativePathArray" type="schema:CSAreaRelativePathArray">
      <documentation>Array of paths to the files to be associated with
        the task. The paths are relative to the current workarea.
      </documentation>
    </part>
  </message>
  <message name="addTaskFilesResponse">
    <documentation>Message from workflow server in response to client's
       addTaskFiles request.
    </documentation>
    <part name="pathStatusPairArray"   type="schema:CSPathStatusPairArray">
      <documentation>Array of file path/status code pairs.
        The order of the indications is not specified.
      </documentation>
    </part>
  </message>

  <message name="removeTaskFiles">
    <documentation>Message from client requesting workflow server remove
       the specified files from the task.
    </documentation>
    <part name="sessionToken"          type="xsd:string">
      <documentation>The token used to identify the current session.
      </documentation>
    </part>
    <part name="taskId"        type="xsd:long">
      <documentation>ID of the task to update.
      </documentation>
    </part>
    <part name="areaRelativePathArray"  type="schema:CSAreaRelativePathArray">
      <documentation>Array of filesystem paths to the files to be removed.
        The paths must correspond to files known to the workflow server.
      </documentation>
    </part>
  </message>
  <message name="removeTaskFilesResponse">
    <documentation>Message from workflow server in response to client's
       removeTaskFiles request.
    </documentation>
    <part name="pathStatusPairArray" type="schema:CSPathStatusPairArray">
      <documentation>Array of filename, status pairs indicating the
        status of the remove request for each file. The order of the
        files in the array is not specified.
      </documentation>
    </part>
  </message>

  <message name="finishTask">
    <documentation>Message from client requesting the workflow server
      mark a task as completed and remove it from the user's list
     of active tasks.
    </documentation>
    <part name="sessionToken"   type="xsd:string">
      <documentation>The token used to identify the current session.
      </documentation>
    </part>
    <part name="taskId"     type="xsd:long">
      <documentation>ID for the task to transition.
      </documentation>
    </part>
    <part name="taskTransition" type="xsd:string">
      <documentation>String defining which transition out of task
        was taken. Possible values are "Done", "Approve", and "Reject".
        The string MUST match one of the values in the
        taskTransitionArray of the task.
      </documentation>
    </part>
    <part name="comment"    type="xsd:string">
      <documentation>Human-readable comment about the task's completion.
      </documentation>
    </part>
  </message>
  <message name="finishTaskResponse">
    <documentation>
      Message from server in response to client's finishTask request.
      Server SHALL return a fault if the request failed.
    </documentation>
   </message>

  <message name="createWorkflow">
    <documentation>
      Message from client requesting the workflow server
      register the given workflow specification. The workflow
      can then be used by messages which initiate workflows.
      such as submit.
    </documentation>
    <part name="sessionToken"      type="xsd:string">
      <documentation>The token used to identify the current session.
      </documentation>
    </part>
    <part name="workflowSpecification" type="xsd:string">
      <documentation>
        If 'workflowSpecification' is a valid workflow specification
        XML document, then the workflow will be created.
      </documentation>
    </part>
  </message>
  <message name="createWorkflowResponse">
    <documentation>
      Message from workflow server in response to client's
      createWorkflow request.
    </documentation>
    <part name="workflowId"      type="xsd:long">
      <documentation>
        If the workflow is successfully instantiated, a workflow ID will
        be returned. The client shall use that ID to refer to the workflow
        on the server.
      </documentation>
    </part>
  </message>

  <!-- ==========================================================
                        file management messages
       ========================================================== -->

  <message name="getDirectoryContents">
    <documentation>
      Message from client requesting the file server
      return a listing of the contents of the specified directory.
    </documentation>
    <part name="sessionToken"   type="xsd:string">
      <documentation>The token used to identify the current session.
      </documentation>
    </part>
    <part name="workareaVPath"  type="xsd:string">
      <documentation>Virtual filesystem path to the user's workarea in which
         the operation is to take place.
      </documentation>
    </part>
    <part name="areaRelativePath" type="xsd:string"> 
      <documentation>
        Workarea-relative path to directory to list.  The empty string ("")
        is used for the top-level directory.
      </documentation>
    </part>
  </message>
  <message name="getDirectoryContentsResponse">
    <documentation>
      Message from file server in response to client's 
      getDirectoryContents request. It contains an array listing the
      directory's contents.
    </documentation>
    <part name="fileArray"    type="schema:CSFileArray">
      <documentation>
        Simple files, directories, and symbolic links will be returned,
        but not 'holes'.
      </documentation>
    </part>
  </message>

  <message name="getFiles">
    <documentation>
      Message from client requesting the file server
      return information about the specified files.
    </documentation>
    <part name="sessionToken"      type="xsd:string">
      <documentation>The token used to identify the current session.
      </documentation>
    </part>
    <part name="workareaVPath"     type="xsd:string">
      <documentation>Virtual filesystem path to the user's workarea in which
         the operation is to take place.
      </documentation>
    </part>
    <part name="areaRelativePathArray" type="schema:CSAreaRelativePathArray">
      <documentation>Array of filesystem paths to the files to be described.
      If one or more of the specified files do not exist on the
      server, it MUST return a fault.
      </documentation>
    </part>
  </message>
  <message name="getFilesResponse">
    <documentation>
      Message from file server in response to client's 
      getFiles request. It returns information about the specified
      files. If the server cannot locate one of the specified files, 
      a fault is returned instead.
    </documentation>
    <part name="fileArray"       type="schema:CSFileArray">
      <documentation>
        Array of returned files. The order of the files is NOT guaranteed
        to match the order of the paths in the request.
      </documentation>
    </part>
  </message>

  <message name="getModifiedFiles">
    <documentation>
      Message from client requesting the file server return an array
      of files in a directory that have been modified since the last
      version was submitted.
    </documentation>
    <part name="sessionToken"  type="xsd:string">
      <documentation>The token used to identify the current session.
      </documentation>
    </part>
    <part name="workareaVPath" type="xsd:string">
      <documentation>
        Virtual filesystem path to the user's workarea in which
         the operation is to take place.
      </documentation>
    </part>
    <part name="areaRelativePath" type="xsd:string">
      <documentation>
	Workarea relative path to the directory the server will examine 
	for modified files. All subdirectories will be examined
        recursively.
      </documentation>	
    </part>
    <part name="onlyByCurrentUser" type="xsd:boolean">
      <documentation>
  	If 'onlyByCurrentUser' is 'true', then server will list files 
	modified only by the logged-in user. Otherwise, all modified
	files in the directory and its subdirectories will be listed.
      </documentation>
    </part>			
  </message>
  <message name="getModifiedFilesResponse">
    <documentation>
      Message from file server in response to client's 
      getModifiedFiles request. It provides the array of modified files.
    </documentation>
    <part name="fileArray"   type="schema:CSFileArray">
      <documentation>
        The array of modified files.
      </documentation>
    </part>
  </message>

  <message name="readFile">
    <documentation>
      Message from client requesting the file server
      return an array of bytes from the specified file.
    </documentation>
    <part name="sessionToken"   type="xsd:string">
      <documentation>The token used to identify the current session.
      </documentation>
    </part>
    <part name="workareaVPath"  type="xsd:string">
      <documentation>Virtual filesystem path to the user's workarea in which
         the operation is to take place.
      </documentation>
    </part>
    <part name="areaRelativePath" type="xsd:string">
      <documentation>Filesystem path to the specified file, relative
        to the workarea.
      </documentation>
    </part>
    <part name="offset"       type="xsd:long">
      <documentation>
        The starting position in the file, in bytes, of the segment to be
        returned. 0 is the beginning of the file. The segment returned
        will, potentially, extend to the end of the file unless the numBytes
        part is > 0. Note that the array returned may be shorter, so the
        client is responsible for making sure it has actually gotten all
        the data it wants.
      </documentation>
    </part>
    <part name="numBytes"     type="xsd:int">
      <documentation>
        If 'numBytes' > 0, then the server will not return more
        than 'numBytes' bytes in the response.  The server may
        choose to return fewer bytes, even if the file size is greater
        than 'offset' + 'numBytes'.  
        If 'numBytes' is not a positive integer, then it
        will default to a value of 'infinity'.
      </documentation>
    </part>
  </message>
  <message name="readFileResponse">
    <documentation>
      Message from file server in response to client's 
      readFile request.
    </documentation>
    <part name="fileSegment"    type="schema:CSFileSegment">
      <documentation>
        The segment from the file being read.
      </documentation>
    </part>
  </message>

  <message name="writeFile">
    <documentation>
      Message from client requesting the file server
      write the specified sequence of bytes into the specified file.
      The file is created if it does not already exist.
    </documentation>
    <part name="sessionToken"   type="xsd:string">
      <documentation>The token used to identify the current session.
      </documentation>
    </part>
    <part name="workareaVPath"  type="xsd:string">
      <documentation>Virtual filesystem path to the user's workarea in which
         the operation is to take place.
      </documentation>
    </part>
    <part name="areaRelativePath" type="xsd:string">
      <documentation>Path to the file to update, relative to the workarea.
      </documentation>
    </part>
    <part name="fileContents"   type="xsd:base64Binary">
      <documentation>
        The bytes to be written into the file. The bytes are encoded as
        characters using the base64 encoding.
      </documentation>
    </part>
    <part name="offset"       type="xsd:long">
      <documentation>
        If 'offset' > 0, then the 'fileContents' will be written to the
        file beginning at that offset.  Otherwise, the 'fileContents'
        will be written to the beginning of the file.
      </documentation>
    </part>
    <part name="numBytes"     type="xsd:int">
      <documentation>Number of bytes to be written.
      </documentation>
    </part>
    <part name="isEndOfFile"    type="xsd:boolean">
      <documentation>
        If 'isEndOfFile' is 'false', then the server will not truncate 
        the file after the 'fileContents' has been written.  Otherwise,
        the file will be truncated after the 'fileContents' has been
        written.
      </documentation>
    </part>
  </message>
  <message name="writeFileResponse">
    <documentation>
      Message from server in response to client's writeFile request.
      Server SHALL return a fault if the request failed.
    </documentation>
  </message>

  <message name="deleteFiles">
    <documentation>
      Message from client requesting the file server
      delete the specified files. 
    </documentation>
    <part name="sessionToken"      type="xsd:string">
      <documentation>The token used to identify the current session.
      </documentation>
    </part>
    <part name="workareaVPath"     type="xsd:string">
      <documentation>Virtual filesystem path to the user's workarea in which
         the operation is to take place.
      </documentation>
    </part>
    <part name="areaRelativePathArray" type="schema:CSAreaRelativePathArray">
      <documentation>Array of filesystem paths to the files to be deleted.
      </documentation>
    </part>
    <part name="wftSubmitCommand"    type="xsd:string">
      <documentation>Allows the default deletion workflow to be overridden.
      </documentation>
    </part>
  </message>
  <message name="deleteFilesResponse">
    <documentation>
      Message from file server in response to client's 
      deleteFiles request.
    </documentation>
    <part name="webDeskSubmitHelper"   type="schema:CSWebDeskHelper">
      <documentation>Helper for composing server requests.
      </documentation>
    </part>
  </message>

  <message name="getExtendedAttributes">
    <documentation>
      Message from client requesting the file server
      return the specified 'extended attributes' (EAs) associated with
      the specified asset. EAs are akin to a
      resource fork for the asset. They are an array of textual
      name/value pairs associated with the asset but not part
      of the asset's content.
    </documentation>
    <part name="sessionToken"         type="xsd:string">
      <documentation>The token used to identify the current session.
      </documentation>
    </part>
    <part name="workareaVPath"        type="xsd:string">
      <documentation>Virtual filesystem path to the user's workarea in which
         the operation is to take place.
      </documentation>
    </part>
    <part name="areaRelativePath"       type="xsd:string">
      Path to the asset whose extended attributes are to be fetched.
      Path is relative to the workarea.
    </part>
    <part name="extendedAttributeNameArray"
        type="schema:CSExtendedAttributeNameArray">
      <documentation>
        Array of EA names to search for. If the asset has an EA with a
        matching name, its value will be returned in the response.
      </documentation>
    </part>
  </message>
  <message name="getExtendedAttributesResponse">
    <documentation>
      Message from file server in response to client's 
      getExtendedAttributes request.
    </documentation>
    <part name="extendedAttributeArray"  
        type="schema:CSExtendedAttributeArray">
      <documentation>
        The array of results. Each element in the array is a complete
        Extended Attribute - both the name and the value. If the request
        asked for an EA that was not present on the asset, the server
        will silently ignore that request. 
      </documentation>
    </part>
  </message>

  <message name="setExtendedAttributes">
    <documentation>
      Message from client requesting the file server
      add (or update) the specified extended attributes on the
      specified asset.
      If the name and/or value exceed any server-specific length
      limits, a fault MUST be returned. Server implementations SHOULD
      allow at least 1kB for the name and 4kB for the value.
    </documentation>
    <part name="sessionToken"       type="xsd:string">
      <documentation>The token used to identify the current session.
      </documentation>
    </part>
    <part name="workareaVPath"      type="xsd:string">
      <documentation>Virtual filesystem path to the user's workarea in which
         the operation is to take place.
      </documentation>
    </part>
    <part name="areaRelativePath"     type="xsd:string">
      Path to the asset to update. Path is relative to the workarea.
    </part>
    <part name="extendedAttributeArray"
        type="schema:CSExtendedAttributeArray">
      <documentation>
        The array of Extended Attributes. Each EA is a name/value pair.
        If one of the given EAs already
        exists on the asset, its value will be overwritten with the specified
        value. Any new EAs are added to the asset, otherwise its current
        EAs are not modified.
      </documentation>
    </part>
  </message>
  <message name="setExtendedAttributesResponse">
    <documentation>
      Message from server in response to client's setExtendedAttributes
      request. Server SHALL return a fault if the request failed.
    </documentation>
  </message>


  <!-- ==========================================================
                      collaboration messages
       ========================================================== -->

  <message name="editFile">
    <documentation>Message from client to server requesting
      to edit the specified file. Various options control whether the
      server shall lock the file, get the working copy or the last
      submitted copy, etc.
    </documentation>
    <part name="sessionToken"   type="xsd:string">
      <documentation>The token used to identify the current session.
      </documentation>
    </part>
    <part name="workareaVPath"  type="xsd:string">
      <documentation>Virtual filesystem path to the user's workarea in which
         the operation is to take place.
      </documentation>
    </part>
    <part name="areaRelativePath" type="xsd:string">
      <documentation>Path to the file to edit, relative to the workarea. 
      </documentation>
    </part>
    <part name="withLock"     type="xsd:boolean">
      <documentation>Locks the file on the server before returning it.
      </documentation>
    </part>
    <part name="lockComment"    type="xsd:string">
      <documentation>Optional comment to be associated with the lock on the file.
      </documentation>
    </part>
    <part name="withGetLatest"  type="xsd:boolean">
      <documentation>Obtain the most recently checked-in version of the
        file from the staging area, rather than the (possibly modified)
        copy currently in the workarea.
        If both 'withLock' and 'withGetLatest' are true, then
        the file will be locked first, then the Get Latest will be 
        performed.
      </documentation>
    </part>
    <part name="withOverwrite"  type="xsd:boolean">
      <documentation>Only active if 'withGetLatest' is true.
        If 'withOverwrite' is false, the update shall only occur if
        the copy in the workarea has not been modified since its
        contents were last synchronized with the version in the
        staging area. If 'withOverwrite' is true, the workarea copy will
        always be updated, overwriting any changes that had been made.
      </documentation>
    </part>
    <part name="wftSubmitCommand" type="xsd:string">
      <documentation>Allows the default edit workflow to be overridden.
      </documentation>
    </part>
  </message>
  <message name="editFileResponse">
    <documentation>
      Message from server in response to a client's
      editFile request.
    </documentation>
    <part name="webDeskUtility"   type="schema:CSWebDeskUtility">
      <documentation>
      </documentation>
    </part>
  </message>

  <message name="importFiles">
    <documentation>
    </documentation>
    <part name="sessionToken"        type="xsd:string">
      <documentation>The token used to identify the current session.
      </documentation>
    </part>
    <part name="workareaVPath"       type="xsd:string">
      <documentation>Virtual filesystem path to the user's workarea in which
         the operation is to take place.
      </documentation>
    </part>
    <part name="areaRelativePath"    type="xsd:string">
      <documentation>
        This is workarea-relative path to the destination directory of the
        imported files. The directory MUST already exist. If it does not,
        the server MUST respond with a fault.
        The files will assume the same file name that they
        already have.  For example, if you are importing the file
        "c:\a\b\c\d.doc" to the directory "x/y/z", then the file would be
        written to "x/y/z/d.doc".  If 'localFilePathArray' contains only one
        file, then 'areaRelativePath' may be the name of a file, instead of
        a directory, in which case the file will assume the name indicated
        by 'areaRelativePath'.
      </documentation>
    </part>
    <part name="localFilePathArray"  type="schema:CSLocalFilePathArray">
      <documentation>
        This is an array of absolute paths to local files (e.g.,
        "c:\documents\my document.doc") to be imported.
      </documentation>
    </part>
    <part name="donePage"            type="xsd:string">
      <documentation>
        This is a URL (absolute, or relative to the server)
        to be loaded when the import is complete.
        If 'donePage' is the empty string (""), then the default
        ("/iw/blank.html") will be used.
      </documentation>
    </part>
    <part name="doneTarget"          type="xsd:string">
      <documentation>
        This is the JavaScript name of the target to which 'donePage' will
        be targeted.  If 'doneTarget' is the empty string (""), then the
        default ("_self") will be used.
      </documentation>
    </part>
  </message>
  <message name="importFilesResponse">
    <documentation>
      Message from server in response to client's importFiles request.
      Server SHALL return a fault if the request failed.
    </documentation>
    <part name="webDeskImportHelper" type="schema:CSWebDeskHelper">
      <documentation>Helper for composing server requests.
      </documentation>
    </part>
  </message>

  <message name="uploadFiles">
    <documentation>Request from client to server to upload files.
    </documentation>
    <part name="sessionToken"          type="xsd:string">
      <documentation>The token used to identify the current session.
      </documentation>
    </part>
    <part name="workareaVPath"         type="xsd:string">
      <documentation>Virtual filesystem path to the user's workarea in which
         the operation is to take place.
      </documentation>
    </part>
    <part name="areaRelativePathArray" type="schema:CSAreaRelativePathArray">
      <documentation>Array of paths to the files to be uploaded.
        Path is relative to the workarea in the virtual file system. 
      </documentation>
    </part>
    <part name="donePage"              type="xsd:string">
      <documentation>
        This is a URL (absolute, or relative to the web server)
        to be loaded when the import is complete.
        If 'donePage' is the empty string (""), then a default MAY
        be used.
      </documentation>
    </part>
    <part name="doneTarget"            type="xsd:string">
      <documentation>
        This is the JavaScript name of the target to which 'donePage' will
        be targeted.  If 'doneTarget' is the empty string (""), then the
        default ("_self") will be used.
      </documentation>
    </part>
  </message>
  <message name="uploadFilesResponse">
    <documentation>
      Message from server in response to client's uploadFiles request.
      Server SHALL return a fault if the request failed.
    </documentation>
    <part name="webDeskUploadHelper" type="schema:CSWebDeskHelper">
      <documentation>Helper for composing server requests.
      </documentation>
    </part>
  </message>

  <message name="undoChanges">
    <documentation>Message from client requesting the server
      unlock the specified file and replace it with the latest version
      currently in the staging area.
    </documentation>
    <part name="sessionToken"      type="xsd:string">
      <documentation>The token used to identify the current session.
      </documentation>
    </part>
    <part name="workareaVPath"     type="xsd:string">
      <documentation>Virtual filesystem path to the user's workarea in which
         the operation is to take place.
      </documentation>
    </part>
    <part name="areaRelativePathArray" type="schema:CSAreaRelativePathArray">
      <documentation>Array of paths to the files to revert, relative
        to the workarea. 
      </documentation>
    </part>
  </message>
  <message name="undoChangesResponse">
    <documentation>
      Message from server in response to a client's
      undoChanges request.
    </documentation>
    <part name="pathStatusPairArray"   type="schema:CSPathStatusPairArray">
      <documentation>Array of file name, status pairs indicating, for
        each file, whether the revert request succeeded.
      </documentation>
    </part>
  </message>

  <message name="lockFiles">
    <documentation>Message from client requesting the server lock
      the specified files.
    </documentation>
    <part name="sessionToken"     type="xsd:string">
      <documentation>The token used to identify the current session.
      </documentation>
    </part>
    <part name="workareaVPath"    type="xsd:string">
      <documentation>Virtual filesystem path to the user's workarea in which
         the operation is to take place.
      </documentation>
    </part>
    <part name="pathCommentPairArray" type="schema:CSPathCommentPairArray">
      <documentation>Array of file name, comment pairs listing the file
        to lock and a comment to be associated with the lock.
      </documentation>
    </part>
  </message>
  <message name="lockFilesResponse">
    <documentation>
      Message from server in response to a client's
      lockFiles request.
    </documentation>
    <part name="pathStatusPairArray"  type="schema:CSPathStatusPairArray">
      <documentation>Array of file name, status pairs indicating, for
        each file, whether the lock request succeeded.
      </documentation>
    </part>
  </message>

  <message name="unlockFiles">
    <documentation>Message from client requesting the server
      unlock the specified files.
    </documentation>
    <part name="sessionToken"      type="xsd:string">
      <documentation>
        The token used to identify the current session.
      </documentation>
    </part>
    <part name="workareaVPath"     type="xsd:string">
      <documentation>Virtual filesystem path to the user's workarea in which
         the operation is to take place.
      </documentation>
    </part>
    <part name="areaRelativePathArray" type="schema:CSAreaRelativePathArray">
      <documentation>Array of paths to the files to unlock, relative
        to the workarea. 
      </documentation>
    </part>
  </message>
  <message name="unlockFilesResponse">
    <documentation>
      Message from server in response to a client's
      unlockFiles request.
    </documentation>
    <part name="pathStatusPairArray"   type="schema:CSPathStatusPairArray">
      <documentation>Array of file name, status pairs giving the
        status of the unlock request for each file.
      </documentation>
    </part>
  </message>

  <message name="update">
    <documentation>Message from client to server requesting it to
      update a set of files in a workarea with the most recent
      version checked into the staging area.
    </documentation>
    <part name="sessionToken"      type="xsd:string">
      <documentation>
        The token used to identify the current session.
      </documentation>
    </part>
    <part name="sourceAreaVPath"     type="xsd:string">
      <documentation>
        The staging area to use. If 'sourceAreaVPath' is the
        empty string (""), then it will default to the staging
        area corresponding to the 'workareaVPath' workarea.
      </documentation>
    </part>
    <part name="workareaVPath"     type="xsd:string">
      <documentation>Virtual filesystem path to the user's workarea to
         update.
      </documentation>
    </part>
    <part name="areaRelativePathArray" type="schema:CSAreaRelativePathArray">
      <documentation>Array of paths to the files to update, relative
        to the workarea. 
      </documentation>
    </part>
    <part name="withOverwrite"     type="xsd:boolean">
      <documentation>If 'true', any files in the workarea modified more
        recently than the copy in the staging area will be overwritten,
        destroying those changes.
      </documentation>
    </part>
    <part name="includeSuccessFiles"   type="xsd:boolean">
      <documentation>If 'true', the results of the updates for all files
        are returned. If 'false', results will only be returned for
        files which were not updated successfully.
      </documentation>
    </part>
  </message>
  <message name="updateResponse">
    <documentation>
      Message from server in response to a client's
      update request.
    </documentation>
    <part name="pathStatusPairArray"   type="schema:CSPathStatusPairArray">
      <documentation>Array of file name, status pairs. Depending on
        the 'includeSuccessFiles' part in the request, the status codes
        will be for all files, or only for the files that could not be
        updated.
      </documentation>
    </part>
  </message>

  <message name="submit">
    <documentation>Message from client to server requesting
      that the specified file(s) be checked into the staging
      area.
    </documentation>
    <part name="sessionToken"      type="xsd:string">
      <documentation>
        The token used to identify the current session.
      </documentation>
    </part>
    <part name="workareaVPath"     type="xsd:string">
      <documentation>Virtual filesystem path to the user's workarea in which
         the operation is to take place.
      </documentation>
    </part>
    <part name="areaRelativePathArray" type="schema:CSAreaRelativePathArray">
      <documentation>Array of paths to the files to submit, relative
        to the workarea. 
      </documentation>
    </part>
    <part name="wftSubmitCommand" type="xsd:string">
      <documentation>Allows the default submit workflow to be overridden.
      </documentation>
    </part>
  </message>
  <message name="submitResponse">
    <documentation>Message from server in response to a client's
      submit request.
    </documentation>
    <part name="webDeskSubmitHelper"   type="schema:CSWebDeskHelper">
      <documentation>Helper for composing server requests.
      </documentation>
    </part>
  </message>

  <message name="submitDirect">
    <documentation>Message from client to server requesting
      that a file be submitted into the staging area without
      triggering a workflow.
    </documentation>
    <part name="sessionToken"     type="xsd:string">
      <documentation>
        The token used to identify the current session.
      </documentation>
    </part>
    <part name="workareaVPath"    type="xsd:string">
      <documentation>Virtual filesystem path to the user's workarea in which
         the operation is to take place.
      </documentation>
    </part>
    <part name="withOverwrite"    type="xsd:boolean">
      <documentation>If 'true', any existing copy of the file in the
        staging area will be overwritten.
      </documentation>
    </part>
    <part name="comment"        type="xsd:string">
      <documentation>Comment to associate with the file submission.
      </documentation>
    </part>
    <part name="subject"        type="xsd:string">
      <documentation>Summary of the comment for the file submission.
      </documentation>
    </part>
    <part name="pathCommentPairArray" type="schema:CSPathCommentPairArray">
      <documentation>Array of files and their comments for submission.
      </documentation>
    </part>
    <part name="includeSuccessFiles"  type="xsd:boolean">
      <documentation>If 'true', all the results of the update for each
        file shall be returned.
      </documentation>
    </part>
  </message>
  <message name="submitDirectResponse">
    <documentation>
      Message from server in response to a client's
      submitDirect request. Provides the status for each requested
      file submission.
    </documentation>
    <part name="pathStatusPairArray"  type="schema:CSPathStatusPairArray">
      <documentation>Array of file path/status code pairs.
      </documentation>
    </part>
  </message>


  <!-- ==========================================================
                         templating messages 
       ========================================================== -->

  <message name="getTemplateCategories">
    <documentation>Message from client to server requesting the
      list of available template categories and template types.
    </documentation>
    <part name="sessionToken"      type="xsd:string">
      <documentation>
        The token used to identify the current session.
      </documentation>
    </part>
    <part name="workareaVPath"     type="xsd:string">
      <documentation>Virtual filesystem path to the user's workarea in which
         the operation is to take place.
      </documentation>
    </part>
  </message>
  <message name="getTemplateCategoriesResponse">
    <documentation>
      Message from server in response to a client's
      getTemplateCategories request.
    </documentation>
    <part name="templateCategoryArray" type="schema:CSTemplateCategoryArray">
      <documentation>Array of the available Template categories.
      </documentation>
    </part>
  </message>

  <message name="getWebDeskNewDcrHelper">
    <documentation>Utility message to help those implementing
      user interfaces for Content Services. After sending
      a getTemplateCategories message, this message can be sent
      for each of the TemplateTypes in the
      getTemplateCategoriesResponse.
    </documentation>
    <part name="sessionToken"    type="xsd:string">
      <documentation>Unique token for this session on this server.
      </documentation>
    </part>
    <part name="workareaVPath"     type="xsd:string">
      <documentation>Virtual filesystem path to the user's workarea in which
         the operation is to take place.
      </documentation>
    </part>
    <part name="templateTypeId"    type="xsd:string">
      <documentation>The id of the template type to get a helper for.
      </documentation>
    </part>
  </message>
  <message name="getWebDeskNewDcrHelperResponse">
    <documentation>
      Message from server in response to a client's
      getWebDeskNewDcrHelper request. 
    </documentation>
    <part name="webDeskNewDcrHelper" type="schema:CSWebDeskHelper">
      <documentation>Helper for composing server requests.
      </documentation>
    </part>
  </message>


  <!-- ==========================================================
                            port types 
       ========================================================== -->

  <portType name="ContentServicesPortType">
    <operation name="startSession">
      <input  message="ns:startSession"/>
      <output message="ns:startSessionResponse"/>
      <fault  message="ns:fault"/>
    </operation>
    <operation name="endSession">
      <input  message="ns:endSession"/>
      <output message="ns:endSessionResponse"/>
      <fault  message="ns:fault"/>
    </operation>
    <operation name="ping">
      <input  message="ns:ping"/>
      <output message="ns:pingResponse"/>
      <fault  message="ns:fault"/>
    </operation>
    <operation name="getVersionString">
      <input  message="ns:getVersionString"/>
      <output message="ns:getVersionStringResponse"/>
      <fault  message="ns:fault"/>
    </operation>
    <operation name="getTasks">
      <input  message="ns:getTasks"/>
      <output message="ns:getTasksResponse"/>
      <fault  message="ns:fault"/>
    </operation>
    <operation name="getTasksWithoutFiles">
      <input  message="ns:getTasksWithoutFiles"/>
      <output message="ns:getTasksWithoutFilesResponse"/>
      <fault  message="ns:fault"/>
    </operation>
    <operation name="getTasksById">
      <input  message="ns:getTasksById"/>
      <output message="ns:getTasksByIdResponse"/>
      <fault  message="ns:fault"/>
    </operation>
    <operation name="addTaskComment">
      <input  message="ns:addTaskComment"/>
      <output message="ns:addTaskCommentResponse"/>
      <fault  message="ns:fault"/>
    </operation>
    <operation name="addTaskFileComment">
      <input  message="ns:addTaskFileComment"/>
      <output message="ns:addTaskFileCommentResponse"/>
      <fault  message="ns:fault"/>
    </operation>
    <operation name="addTaskFiles">
      <input  message="ns:addTaskFiles"/>
      <output message="ns:addTaskFilesResponse"/>
      <fault  message="ns:fault"/>
    </operation>
    <operation name="removeTaskFiles">
      <input  message="ns:removeTaskFiles"/>
      <output message="ns:removeTaskFilesResponse"/>
      <fault  message="ns:fault"/>
    </operation>
    <operation name="finishTask">
      <input  message="ns:finishTask"/>
      <output message="ns:finishTaskResponse"/>
      <fault  message="ns:fault"/>
    </operation>
    <operation name="createWorkflow">
      <input  message="ns:createWorkflow"/>
      <output message="ns:createWorkflowResponse"/>
      <fault  message="ns:fault"/>
    </operation>
    <operation name="getDirectoryContents">
      <input  message="ns:getDirectoryContents"/>
      <output message="ns:getDirectoryContentsResponse"/>
      <fault  message="ns:fault"/>
    </operation>
    <operation name="getFiles">
      <input  message="ns:getFiles"/>
      <output message="ns:getFilesResponse"/>
      <fault  message="ns:fault"/>
    </operation>
    <operation name="getModifiedFiles">
      <input  message="ns:getModifiedFiles"/>
      <output message="ns:getModifiedFilesResponse"/>
      <fault  message="ns:fault"/>
    </operation>
    <operation name="readFile">
      <input  message="ns:readFile"/>
      <output message="ns:readFileResponse"/>
      <fault  message="ns:fault"/>
    </operation>
    <operation name="writeFile">
      <input  message="ns:writeFile"/>
      <output message="ns:writeFileResponse"/>
      <fault  message="ns:fault"/>
    </operation>
    <operation name="deleteFiles">
      <input  message="ns:deleteFiles"/>
      <output message="ns:deleteFilesResponse"/>
      <fault  message="ns:fault"/>
    </operation>
    <operation name="getExtendedAttributes">
      <input  message="ns:getExtendedAttributes"/>
      <output message="ns:getExtendedAttributesResponse"/>
      <fault  message="ns:fault"/>
    </operation>
    <operation name="setExtendedAttributes">
      <input  message="ns:setExtendedAttributes"/>
      <output message="ns:setExtendedAttributesResponse"/>
      <fault  message="ns:fault"/>
    </operation>
    <operation name="editFile">
      <input  message="ns:editFile"/>
      <output message="ns:editFileResponse"/>
      <fault  message="ns:fault"/>
    </operation>
    <operation name="importFiles">
      <input  message="ns:importFiles"/>
      <output message="ns:importFilesResponse"/>
      <fault  message="ns:fault"/>
    </operation>
    <operation name="uploadFiles">
      <input  message="ns:uploadFiles"/>
      <output message="ns:uploadFilesResponse"/>
      <fault  message="ns:fault"/>
    </operation>
    <operation name="undoChanges">
      <input  message="ns:undoChanges"/>
      <output message="ns:undoChangesResponse"/>
      <fault  message="ns:fault"/>
    </operation>    
    <operation name="lockFiles">
      <input  message="ns:lockFiles"/>
      <output message="ns:lockFilesResponse"/>
      <fault  message="ns:fault"/>
    </operation>
    <operation name="unlockFiles">
      <input  message="ns:unlockFiles"/>
      <output message="ns:unlockFilesResponse"/>
      <fault  message="ns:fault"/>
    </operation>
    <operation name="update">
      <input  message="ns:update"/>
      <output message="ns:updateResponse"/>
      <fault  message="ns:fault"/>
    </operation>
    <operation name="submit">
      <input  message="ns:submit"/>
      <output message="ns:submitResponse"/>
      <fault  message="ns:fault"/>
    </operation>
    <operation name="submitDirect">
      <input  message="ns:submitDirect"/>
      <output message="ns:submitDirectResponse"/>
      <fault  message="ns:fault"/>
    </operation>
    <operation name="getTemplateCategories">
      <input  message="ns:getTemplateCategories"/>
      <output message="ns:getTemplateCategoriesResponse"/>
      <fault  message="ns:fault"/>
    </operation>
    <operation name="getWebDeskNewDcrHelper">
      <input  message="ns:getWebDeskNewDcrHelper"/>
      <output message="ns:getWebDeskNewDcrHelperResponse"/>
      <fault  message="ns:fault"/>
    </operation>
  </portType>


  <!-- ==========================================================
                             bindings
       ========================================================== -->

  <binding name="ContentServicesBinding" type="ns:ContentServicesPortType">
    <soap:binding style="rpc" 
                  transport="http://schemas.xmlsoap.org/soap/http"/>

    <operation name="startSession">
      <soap:operation soapAction="" style="rpc"/>
      <input>
        <soap:body
              encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" 
              use="encoded"
              namespace="http://content-services.org/services1.0.xsd"/>
      </input>
      <output>
        <soap:body
              encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
              use="encoded"
              namespace="http://content-services.org/services1.0.xsd"/>
      </output>
      <fault>
        <soap:fault/>
      </fault>
    </operation>

    <operation name="endSession">
      <soap:operation soapAction="" style="rpc"/>
      <input>
        <soap:body
              encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
              use="encoded"
              namespace="http://content-services.org/services1.0.xsd"/>
      </input>
      <output>
        <soap:body
              encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
              use="encoded"
              namespace="http://content-services.org/services1.0.xsd"/>
      </output>
      <fault>
        <soap:fault/>
      </fault>
    </operation>

    <operation name="ping">
      <soap:operation soapAction="" style="rpc"/>
      <input>
        <soap:body
              encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
              use="encoded"
              namespace="http://content-services.org/services1.0.xsd"/>
      </input>
      <output>
        <soap:body
              encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
              use="encoded"
              namespace="http://content-services.org/services1.0.xsd"/>
      </output>
      <fault>
        <soap:fault/>
      </fault>
    </operation>

    <operation name="getVersionString">
      <soap:operation soapAction="" style="rpc"/>
      <input>
        <soap:body
              encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
              use="encoded"
              namespace="http://content-services.org/services1.0.xsd"/>
      </input>
      <output>
        <soap:body
              encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
              use="encoded"
              namespace="http://content-services.org/services1.0.xsd"/>
      </output>
      <fault>
        <soap:fault/>
      </fault>
    </operation>

    <operation name="getTasks">
      <soap:operation soapAction="" style="rpc"/>
      <input>
        <soap:body
              encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
              use="encoded"
              namespace="http://content-services.org/services1.0.xsd"/>
      </input>
      <output>
        <soap:body
              encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
              use="encoded"
              namespace="http://content-services.org/services1.0.xsd"/>
      </output>
      <fault>
        <soap:fault/>
      </fault>
    </operation>

    <operation name="getTasksWithoutFiles">
      <soap:operation soapAction="" style="rpc"/>
      <input>
        <soap:body
              encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
              use="encoded"
              namespace="http://content-services.org/services1.0.xsd"/>
      </input>
      <output>
        <soap:body
              encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
              use="encoded"
              namespace="http://content-services.org/services1.0.xsd"/>
      </output>
      <fault>
        <soap:fault/>
      </fault>
    </operation>

    <operation name="getTasksById">
      <soap:operation soapAction="" style="rpc"/>
      <input>
        <soap:body
              encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
              use="encoded"
              namespace="http://content-services.org/services1.0.xsd"/>
      </input>
      <output>
        <soap:body
              encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
              use="encoded"
              namespace="http://content-services.org/services1.0.xsd"/>
      </output>
      <fault>
        <soap:fault/>
      </fault>
    </operation>

    <operation name="addTaskComment">
      <soap:operation soapAction="" style="rpc"/>
      <input>
        <soap:body
              encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
              use="encoded"
              namespace="http://content-services.org/services1.0.xsd"/>
      </input>
      <output>
        <soap:body
              encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
              use="encoded"
              namespace="http://content-services.org/services1.0.xsd"/>
      </output>
      <fault>
        <soap:fault/>
      </fault>
    </operation>

    <operation name="addTaskFileComment">
      <soap:operation soapAction="" style="rpc"/>
      <input>
        <soap:body
              encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
              use="encoded"
              namespace="http://content-services.org/services1.0.xsd"/>
      </input>
      <output>
        <soap:body
              encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
              use="encoded"
              namespace="http://content-services.org/services1.0.xsd"/>
      </output>
      <fault>
        <soap:fault/>
      </fault>
    </operation>

    <operation name="addTaskFiles">
      <soap:operation soapAction="" style="rpc"/>
      <input>
        <soap:body
              encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
              use="encoded"
              namespace="http://content-services.org/services1.0.xsd"/>
      </input>
      <output>
        <soap:body
              encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
              use="encoded"
              namespace="http://content-services.org/services1.0.xsd"/>
      </output>
      <fault>
        <soap:fault/>
      </fault>
    </operation>

    <operation name="removeTaskFiles">
      <soap:operation soapAction="" style="rpc"/>
      <input>
        <soap:body
              encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
              use="encoded"
              namespace="http://content-services.org/services1.0.xsd"/>
      </input>
      <output>
        <soap:body
              encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
              use="encoded"
              namespace="http://content-services.org/services1.0.xsd"/>
      </output>
      <fault>
        <soap:fault/>
      </fault>
    </operation>

    <operation name="finishTask">
      <soap:operation soapAction="" style="rpc"/>
      <input>
        <soap:body
              encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
              use="encoded"
              namespace="http://content-services.org/services1.0.xsd"/>
      </input>
      <output>
        <soap:body
              encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
              use="encoded"
              namespace="http://content-services.org/services1.0.xsd"/>
      </output>
      <fault>
        <soap:fault/>
      </fault>
    </operation>

    <operation name="createWorkflow">
      <soap:operation soapAction="" style="rpc"/>
      <input>
        <soap:body
              encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
              use="encoded"
              namespace="http://content-services.org/services1.0.xsd"/>
      </input>
      <output>
        <soap:body
              encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
              use="encoded"
              namespace="http://content-services.org/services1.0.xsd"/>
      </output>
      <fault>
        <soap:fault/>
      </fault>
    </operation>

    <operation name="getDirectoryContents">
      <soap:operation soapAction="" style="rpc"/>
      <input>
        <soap:body
              encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
              use="encoded"
              namespace="http://content-services.org/services1.0.xsd"/>
      </input>
      <output>
        <soap:body
              encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
              use="encoded"
              namespace="http://content-services.org/services1.0.xsd"/>
      </output>
      <fault>
        <soap:fault/>
      </fault>
    </operation>

    <operation name="getFiles">
      <soap:operation soapAction="" style="rpc"/>
      <input>
        <soap:body
              encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
              use="encoded"
              namespace="http://content-services.org/services1.0.xsd"/>
      </input>
      <output>
        <soap:body
              encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
              use="encoded"
              namespace="http://content-services.org/services1.0.xsd"/>
      </output>
      <fault>
        <soap:fault/>
      </fault>
    </operation>

    <operation name="getModifiedFiles">
      <soap:operation soapAction="" style="rpc"/>
      <input>
        <soap:body
              encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
              use="encoded"
              namespace="http://content-services.org/services1.0.xsd"/>
      </input>
      <output>
        <soap:body
              encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
              use="encoded"
              namespace="http://content-services.org/services1.0.xsd"/>
      </output>
      <fault>
        <soap:fault/>
      </fault>
    </operation>

    <operation name="readFile">
      <soap:operation soapAction="" style="rpc"/>
      <input>
        <soap:body
              encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
              use="encoded"
              namespace="http://content-services.org/services1.0.xsd"/>
      </input>
      <output>
        <soap:body
              encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
              use="encoded"
              namespace="http://content-services.org/services1.0.xsd"/>
      </output>
      <fault>
        <soap:fault/>
      </fault>
    </operation>

    <operation name="writeFile">
      <soap:operation soapAction="" style="rpc"/>
      <input>
        <soap:body
              encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
              use="encoded"
              namespace="http://content-services.org/services1.0.xsd"/>
      </input>
      <output>
        <soap:body
              encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
              use="encoded"
              namespace="http://content-services.org/services1.0.xsd"/>
      </output>
      <fault>
        <soap:fault/>
      </fault>
    </operation>

    <operation name="deleteFiles">
      <soap:operation soapAction="" style="rpc"/>
      <input>
        <soap:body
              encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
              use="encoded"
              namespace="http://content-services.org/services1.0.xsd"/>
      </input>
      <output>
        <soap:body
              encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
              use="encoded"
              namespace="http://content-services.org/services1.0.xsd"/>
      </output>
      <fault>
        <soap:fault/>
      </fault>
    </operation>

    <operation name="getExtendedAttributes">
      <soap:operation soapAction="" style="rpc"/>
      <input>
        <soap:body
              encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
              use="encoded"
              namespace="http://content-services.org/services1.0.xsd"/>
      </input>
      <output>
        <soap:body
              encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
              use="encoded"
              namespace="http://content-services.org/services1.0.xsd"/>
      </output>
      <fault>
        <soap:fault/>
      </fault>
    </operation>

    <operation name="setExtendedAttributes">
      <soap:operation soapAction="" style="rpc"/>
      <input>
        <soap:body
              encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
              use="encoded"
              namespace="http://content-services.org/services1.0.xsd"/>
      </input>
      <output>
        <soap:body
              encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
              use="encoded"
              namespace="http://content-services.org/services1.0.xsd"/>
      </output>
      <fault>
        <soap:fault/>
      </fault>
    </operation>

    <operation name="editFile">
      <soap:operation soapAction="" style="rpc"/>
      <input>
        <soap:body
              encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
              use="encoded"
              namespace="http://content-services.org/services1.0.xsd"/>
      </input>
      <output>
        <soap:body
              encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
              use="encoded"
              namespace="http://content-services.org/services1.0.xsd"/>
      </output>
      <fault>
        <soap:fault/>
      </fault>
    </operation>

    <operation name="importFiles">
      <soap:operation soapAction="" style="rpc"/>
      <input>
        <soap:body
              encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
              use="encoded"
              namespace="http://content-services.org/services1.0.xsd"/>
      </input>
      <output>
        <soap:body
              encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
              use="encoded"
              namespace="http://content-services.org/services1.0.xsd"/>
      </output>
      <fault>
        <soap:fault/>
      </fault>
    </operation>

    <operation name="uploadFiles">
      <soap:operation soapAction="" style="rpc"/>
      <input>
        <soap:body
              encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
              use="encoded"
              namespace="http://content-services.org/services1.0.xsd"/>
      </input>
      <output>
        <soap:body
              encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
              use="encoded"
              namespace="http://content-services.org/services1.0.xsd"/>
      </output>
      <fault>
        <soap:fault/>
      </fault>
    </operation>

    <operation name="undoChanges">
      <soap:operation soapAction="" style="rpc"/>
      <input>
        <soap:body
              encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
              use="encoded"
              namespace="http://content-services.org/services1.0.xsd"/>
      </input>
      <output>
        <soap:body
              encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
              use="encoded"
              namespace="http://content-services.org/services1.0.xsd"/>
      </output>
      <fault>
        <soap:fault/>
      </fault>
    </operation>

    <operation name="lockFiles">
      <soap:operation soapAction="" style="rpc"/>
      <input>
        <soap:body
              encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
              use="encoded"
              namespace="http://content-services.org/services1.0.xsd"/>
      </input>
      <output>
        <soap:body 
              encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
              use="encoded"
              namespace="http://content-services.org/services1.0.xsd"/>
      </output>
      <fault>
        <soap:fault/>
      </fault>
    </operation>

    <operation name="unlockFiles">
      <soap:operation soapAction="" style="rpc"/>
      <input>
        <soap:body
              encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
              use="encoded"
              namespace="http://content-services.org/services1.0.xsd"/>
      </input>
      <output>
        <soap:body
              encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
              use="encoded"
              namespace="http://content-services.org/services1.0.xsd"/>
      </output>
      <fault>
        <soap:fault/>
      </fault>
    </operation>

    <operation name="update">
      <soap:operation soapAction="" style="rpc"/>
      <input>
        <soap:body
              encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
              use="encoded"
              namespace="http://content-services.org/services1.0.xsd"/>
      </input>
      <output>
        <soap:body
              encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
              use="encoded"
              namespace="http://content-services.org/services1.0.xsd"/>
      </output>
      <fault>
        <soap:fault/>
      </fault>
    </operation>

    <operation name="submit">
      <soap:operation soapAction="" style="rpc"/>
      <input>
        <soap:body
              encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
              use="encoded"
              namespace="http://content-services.org/services1.0.xsd"/>
      </input>
      <output>
        <soap:body
              encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
              use="encoded"
              namespace="http://content-services.org/services1.0.xsd"/>
      </output>
      <fault>
        <soap:fault/>
      </fault>
    </operation>

    <operation name="submitDirect">
      <soap:operation soapAction="" style="rpc"/>
      <input>
        <soap:body
              encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
              use="encoded"
              namespace="http://content-services.org/services1.0.xsd"/>
      </input>
      <output>
        <soap:body
              encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
              use="encoded"
              namespace="http://content-services.org/services1.0.xsd"/>
      </output>
      <fault>
        <soap:fault/>
      </fault>
    </operation>

    <operation name="getTemplateCategories">
      <soap:operation soapAction="" style="rpc"/>
      <input>
        <soap:body
              encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
              use="encoded"
              namespace="http://content-services.org/services1.0.xsd"/>
      </input>
      <output>
        <soap:body
              encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
              use="encoded"
              namespace="http://content-services.org/services1.0.xsd"/>
      </output>
      <fault>
        <soap:fault/>
      </fault>
    </operation>

    <operation name="getWebDeskNewDcrHelper">
      <soap:operation soapAction="" style="rpc"/>
      <input>
        <soap:body
              encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
              use="encoded"
              namespace="http://content-services.org/services1.0.xsd"/>
      </input>
      <output>
        <soap:body
              encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
              use="encoded"
              namespace="http://content-services.org/services1.0.xsd"/>
      </output>
      <fault>
        <soap:fault/>
      </fault>
    </operation>
  </binding>


  <!-- ==========================================================
                              services 
       ========================================================== -->

  <service name="ContentService">
    <port name="ContentServicesPort" binding="ns:ContentServicesBinding">
      <soap:address location="http://localhost:80/iw/services/1.0"/>
    </port>
  </service>

</definitions>

Prepared by Robin Cover for The XML Cover Pages archive.


Globe Image

Document URL: http://xml.coverpages.org/ContentServices10-wsdl.html