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 overwrites what I returned.  Any thoughts?

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;
        }


Reply via email to