I have a custom adapter I'm using for messaging. This code works in
BlazeDS, but when I try it in LiveCycle DS it does not work. The
return value (a new AckknowledgeMessage I created) from my overriden
manage() method never makes it to the client. I see the message from
the sysout at the end of the method populated correctly, but whatever
is happening after this method is called and before the message is
returned to the client discards what I returned. This seems like a bug.
public class MyMessagingAdapter extends ServiceAdapter {
public boolean handlesSubscriptions() {
return true;
}
public Object manage(CommandMessage command) {
Object ret = null;
try {
if (command.getOperation() == CommandMessage.SUBSCRIBE_OPERATION) {
// Do something custom here...
AcknowledgeMessage msg = new AcknowledgeMessage();
ASObject body = (ASObject)msg.getBody();
if (body == null) {
body = new ASObject();
msg.setBody(body);
}
body.put("someValue","abc");
body.put("spmeOtherValue, "def");
ret = msg;
}
} catch (Throwable t) {
System.out.println("manage(), exception caught:\n" + t.getMessage());
t.printStackTrace();
}
System.out.println("manage(), returning msg:\n" +ret);
return ret;
}
}