## org.exist.soap
Interface Query

All Superinterfaces:
  java.rmi.Remote

All Known Implementing Classes:
  QuerySoapBindingImpl, QuerySoapBindingSkeleton, QuerySoapBindingStub

public interface Query
extends java.rmi.Remote

Method Summary
`java.lang.String` `connect(java.lang.String userId, java.lang.String password)` Create a new user session.
`void` `disconnect(java.lang.String sessionId)` Release a user session.
`java.lang.String` `getResource(java.lang.String sessionId, java.lang.String path, boolean indent, boolean xinclude)` Retrieve a document from the database.
`byte[]` `getResourceData(java.lang.String sessionId, java.lang.String path, boolean indent, boolean xinclude, boolean processXSLPI)` Retrieve a document from the database.
`Collection` `listCollection(java.lang.String sessionId, java.lang.String path)` Get information on the specified collection.
`QueryResponse` `query(java.lang.String sessionId, java.lang.String xpath)` Deprecated. use `xquery(String, byte[])` instead.
`java.lang.String[]` `retrieve(java.lang.String sessionId, int start, int howmany, boolean indent, boolean xinclude, java.lang.String highlight)` Retrieve a set of query results from the last query executed within the current session.
`java.lang.String[]` `retrieveByDocument(java.lang.String sessionId, int start, int howmany, java.lang.String path, boolean indent, boolean xinclude, java.lang.String highlight)` For the specified document, retrieve a set of query results from the last query executed within the current session.
`Base64BinaryArray` `retrieveData(java.lang.String sessionId, int start, int howmany, boolean indent, boolean xinclude, java.lang.String highlight)` Retrieve a set of query results from the last query executed within the current session.
`QueryResponse` `xquery(java.lang.String sessionId, byte[] xquery)` Execute an XQuery.

Method Detail

### getResource

    public java.lang.String getResource(java.lang.String sessionId,
                                        java.lang.String path,
                                        boolean indent,
                                        boolean xinclude)
                                 throws java.rmi.RemoteException

  Retrieve a document from the database.

  Parameters:
    `sessionId` - a valid session id as returned by connect().
    `path` - the full path to the document.
    `indent` - should the document be pretty-printed (indented)?
    `xinclude` - should xinclude tags be expanded?
  Returns:
    the resource as string
  Throws:
    `java.rmi.RemoteException`

### query

    public QueryResponse query(java.lang.String sessionId,
                               java.lang.String xpath)
                        throws java.rmi.RemoteException

  Deprecated. use `xquery(String, byte[])` instead.

  Execute a simple XPath query passed as string.

  Parameters:
    `sessionId` - a valid session id as returned by connect().
    `xpath` - XPath query string.
  Returns:
    QueryResponse describing the query results.
  Throws:
    `java.rmi.RemoteException`

### connect

    public java.lang.String connect(java.lang.String userId,
                                    java.lang.String password)
                             throws java.rmi.RemoteException

  Create a new user session. Authenticates the user against the database. The user has to be a valid database user. If the provided user information is valid, a new session will be registered on the server and a session id will be returned. The session will be valid for at least 60 minutes. Please call disconnect() to release the session. Sessions are shared between the Query and Admin services. A session created through the Query service can be used with the Admin service and vice versa.

  Parameters:
    `userId` -
    `password` -
  Returns:
    session-id a unique id for the created session
  Throws:
    `java.rmi.RemoteException` - if the user cannot log in

### retrieve

    public java.lang.String[] retrieve(java.lang.String sessionId,
                                       int start,
                                       int howmany,
                                       boolean indent,
                                       boolean xinclude,
                                       java.lang.String highlight)
                                throws java.rmi.RemoteException

  Retrieve a set of query results from the last query executed within the current session. The first result to be retrieved from the result set is defined by the start-parameter. Results are counted from 1.

  Parameters:
    `sessionId` - a valid session id as returned by connect().
    `start` - the first result to retrieve.
    `howmany` - number of results to be returned.
    `indent` - should the XML be pretty-printed?
    `xinclude` - should xinclude tags be expanded?
    `highlight` - highlight matching search terms within elements or attributes. Possible values are: "elements" for elements only, "attributes" for attributes only, "both" for elements and attributes, "none" to disable highlighting. For elements, matching terms are surrounded by <exist:match> tags. For attributes, terms are marked with the char sequence "||".
  Throws:
    `java.rmi.RemoteException`

### disconnect

    public void disconnect(java.lang.String sessionId)
                    throws java.rmi.RemoteException

  Release a user session. This will free all resources (including result sets).

  Parameters:
    `sessionId` - a valid session id as returned by connect().
  Throws:
    `java.rmi.RemoteException`

### getResourceData

    public byte[] getResourceData(java.lang.String sessionId,
                                  java.lang.String path,
                                  boolean indent,
                                  boolean xinclude,
                                  boolean processXSLPI)
                           throws java.rmi.RemoteException

  Retrieve a document from the database. This method returns the document data in binary form to avoid possible conflicts.

  Parameters:
    `sessionId` - a valid session id as returned by connect().
    `path` - the full path to the document.
    `indent` - should the document be pretty-printed (indented)?
    `xinclude` - should xinclude tags be expanded?
    `processXSLPI` - should XSL processing instructions be processed?
  Returns:
    the resource in base64 binary encoding
  Throws:
    `java.rmi.RemoteException`

### xquery

    public QueryResponse xquery(java.lang.String sessionId,
                                byte[] xquery)
                         throws java.rmi.RemoteException

  Execute an XQuery.

  Parameters:
    `sessionId` - a valid session id as returned by connect().
    `xquery` - the XQuery script in binary encoding.
  Returns:
    query response
  Throws:
    `java.rmi.RemoteException`

### retrieveData

    public Base64BinaryArray retrieveData(java.lang.String sessionId,
                                          int start,
                                          int howmany,
                                          boolean indent,
                                          boolean xinclude,
                                          java.lang.String highlight)
                                   throws java.rmi.RemoteException

  Retrieve a set of query results from the last query executed within the current session. This method returns the data as an array of base64 encoded data. The first result to be retrieved from the result set is defined by the start-parameter. Results are counted from 1.

  Parameters:
    `sessionId` - a valid session id as returned by connect().
    `start` - the first result to retrieve.
    `howmany` - number of results to be returned.
    `indent` - should the XML be pretty-printed?
    `xinclude` - should xinclude tags be expanded?
    `highlight` - highlight matching search terms within elements or attributes. Possible values are: "elements" for elements only, "attributes" for attributes only, "both" for elements and attributes, "none" to disable highlighting. For elements, matching terms are surrounded by <exist:match> tags. For attributes, terms are marked with the char sequence "||".
  Throws:
    `java.rmi.RemoteException`

### retrieveByDocument

    public java.lang.String[] retrieveByDocument(java.lang.String sessionId,
                                                 int start,
                                                 int howmany,
                                                 java.lang.String path,
                                                 boolean indent,
                                                 boolean xinclude,
                                                 java.lang.String highlight)
                                          throws java.rmi.RemoteException

  For the specified document, retrieve a set of query results from the last query executed within the current session. Only hits in the given document (identified by its path) are returned. The first result to be retrieved from the result set is defined by the start-parameter. Results are counted from 1.

  Parameters:
    `sessionId` - a valid session id as returned by connect().
    `start` - the first result to retrieve.
    `howmany` - number of results to be returned.
    `path` - the full path to the document.
    `indent` - should the XML be pretty-printed?
    `xinclude` - should xinclude tags be expanded?
    `highlight` - highlight matching search terms within elements or attributes. Possible values are: "elements" for elements only, "attributes" for attributes only, "both" for elements and attributes, "none" to disable highlighting. For elements, matching terms are surrounded by <exist:match> tags. For attributes, terms are marked with the char sequence "||".
  Throws:
    `java.rmi.RemoteException`

### listCollection

    public Collection listCollection(java.lang.String sessionId,
                                     java.lang.String path)
                              throws java.rmi.RemoteException

  Get information on the specified collection.

  Parameters:
    `sessionId` - a valid session id as returned by connect().
    `path` - the full path to the collection.
  Throws:
    `java.rmi.RemoteException`

Copyright (C) Wolfgang Meier. All rights reserved.