Can sonic handle form submission? - Forum - Technology Partner - Progress Community

Can sonic handle form submission?

 Forum

Can sonic handle form submission?

  • In samples which come bundled with  Sonic's licenced version we have example on how to post a file to a HTTP acceptor.This HTTP acceptor represents a queue. A sonic process/service listens to that queue and does any processing to the submitted file which gets received as a Multipart message.

    Now we want to post not only a file but also username & password - our usual scenario of a html/jsp page with 3 controls: a text box for username, another text box for password & a textarea where we paste contents of an xml file.In this case sonic HTTP acceptor does not receive the body of the message only some ESB & JMS headers are received.

    Would appreciate a quick solution on this as we are coming to the view that only a servlet can handle this kindf of scenario.

    Regards,

    Subhendu

  • I think you want to treat the sonic broker (and the HTTP Acceptor) as a Web Server and have it respond to POSTs that are application/x-www-form-urencoded.   You should see the message coming in this way if you POST to the HTTP Direct Basic acceptor.   The problem is how to unencode this -- something servlets do well.   I know some customers have done this, and you might find an example in code share for that.

    However, I would also point out that this is probably misusing sonic brokers which really are not web servers.  The issues come up in terms of serving static files, and handing things like cookies and sessions.  While you can get this to work in limited cases, it probably is not the architecture you really want.   If the target user is in a broswer, then you'd be better off talking to a full web server that can handle htmp, jsp, etc, and not using Sonic brokers for this. The servlet could send to Sonic either as HTTP direct or JMS over HTTP to get the info into sonic.

    P.S. You should probably post this under PSDN > Sonic and not the Code Share area.