The DSMLv2 SOAP Server Connector listens for DSMLv2 requests over HTTP. Once it receives the request, the Connector parses the request and sends the parsed request to the AssemblyLine workflow for processing. The result is sent back to the client over HTTP.
The DSMLv2 SOAP Server Connector is able to:
The DSMLv2 SOAP Server Connector supports extended operations. The value property of the extended operation is automatically base-64 decoded from the DSMLv2 message. You must then properly Basic Encoding Rules (BER) decode this value. You must also BER encode the responseValue property represented by the dsml.response Entry Attribute. The Connector will automatically base-64 encode the data when creating and sending the DSMLv2 response.
We can use the following two helper classes to BER encode and decode data:
The schema of the extended operations cannot be automatically determined by the Connector. There is no metadata that describes the structure of an extended operation request.
The following example illustrates an extended operation request to return a part of the IBM Tivoli Directory Server log:
var name = work.getString("dsml.extended.requestname"); var ba = work.getAttribute("dsml.extended.requestvalue").getValue(0); decoder = new Packages.com.ibm.asn1.BERDecoder(ba); iSecuence = decoder.decodeSequence(); fileNumber = decoder.decodeEnumeration(); firstLine = decoder.decodeIntegerAsInt(); lastLine = decoder.decodeIntegerAsInt(); main.logmsg("Operation: " + name); main.logmsg("File: " + fileNumber); main.logmsg("First line: " + firstLine); main.logmsg("Last line: " + lastLine); // send the response, assuming this sample string is the log file content var str = new java.lang.String("Apr 13 16:18:18 2005 Entry cn=chavdar kovachev,o=ibm,c=us already exists."); enc = new Packages.com.ibm.asn1.BEREncoder(); enc.encodeOctetString(str.getBytes()); myByte = enc.toByteArray(); work.setAttribute("dsml.response", myByte); work.setAttribute("dsml.responseName", "1.3.18.0.2.12.23"); work.setAttribute("dsml.resultdescr", "success");
The DSMLv2 SOAP Server Connector uses the following parameters:
This parameter has the following default list of attributes that we can change: