com.novell.nds.dirxml.ldap
Class SubmitCommandRequest

java.lang.Object
  extended by com.novell.ldap.LDAPExtendedOperation
      extended by com.novell.nds.dirxml.ldap.SubmitCommandRequest
All Implemented Interfaces:
Externalizable, Serializable, Cloneable, ExtendedRequest

public class SubmitCommandRequest
extends LDAPExtendedOperation

Submit a command document to a DirXML driver on a server.

To use this class with the Novell Java LDAP SDK create an instance and call LDAPConnection.extendedOperation with the instance as the LDAPExtendedOperation parameter.

If the corresponding response class has been registered then the return from LDAPConnection.extendedOperation will be an instance of the response class.

To use this class with Java LDAP JNDI create an instance and call LdapContext.extendedOperation with the instance as the ExtendedRequest parameter.

The return from LdapContext.extendedOperation will be an instance of the response class.

Rights needed:
Write access to the DirXML-AccessSubmitCommand attribute on the target DirXML-Driver object.

OID:
2.16.840.1.113719.1.14.100.29

Request data:
 ASN1OctetString     UTF-8 encoded DN of DirXML-Driver object
 ASN1Integer         timeout value in minutes for result data (0-10 are legal values)
 ASN1OctetString     serialized XML document
 

Notes:
Submits a command document. The submitted commands are processed by the Command Transformation, Schema Mapping, and Output Transformation rules.
The XML document data must be a well-formed, serialized XML document.

See Also:
SubmitCommandResponse, GetChunkedResultRequest, CloseChunkedResultRequest, LDAPConnection.extendedOperation(com.novell.ldap.LDAPExtendedOperation), Serialized Form

Constructor Summary
SubmitCommandRequest(String driverDN, int timeout, byte[] docBytes)
          Construct an LDAP extended operation to submit a command document to a DirXML driver on a server.
 
Method Summary
 ExtendedResponse createExtendedResponse(String id, byte[] berValue, int offset, int length)
          Create the ExtendedResponse-implementing object that corresponds to this request.
 byte[] getEncodedValue()
          Return the LBER-encoded data for this request.
 
Methods inherited from class com.novell.ldap.LDAPExtendedOperation
clone, getID, getValue, readDSML, readExternal, setID, setValue, toString, writeDSML, writeExternal
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface javax.naming.ldap.ExtendedRequest
createExtendedResponse, getEncodedValue, getID
 

Constructor Detail

SubmitCommandRequest

public SubmitCommandRequest(String driverDN,
                            int timeout,
                            byte[] docBytes)
                     throws LDAPException
Construct an LDAP extended operation to submit a command document to a DirXML driver on a server.

Parameters:
driverDN - the DN of the DirXML-Driver object
timeout - timeout in minutes (0-10, not range checked)
docBytes - a serialized XML document
Throws:
LDAPException
Method Detail

getEncodedValue

public byte[] getEncodedValue()
Return the LBER-encoded data for this request. This is an implementation method for the JNDI ExtendedRequest interface.

Specified by:
getEncodedValue in interface ExtendedRequest
Returns:
LBER-encoded data or null, if there is no request data.

createExtendedResponse

public ExtendedResponse createExtendedResponse(String id,
                                               byte[] berValue,
                                               int offset,
                                               int length)
                                        throws NamingException
Create the ExtendedResponse-implementing object that corresponds to this request. This is an implementation method for the JNDI ExtendedRequest interface.

Specified by:
createExtendedResponse in interface ExtendedRequest
Parameters:
id - (ignored)
berValue - contains LBER-encoded response data
offset - offset into berValue
length - length (in bytes) of reponse data
Throws:
NamingException