You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@activemq.apache.org by Frederick Grim <fg...@wssource.com> on 2007/06/28 21:14:48 UTC
http, rest jetty interface
Howdy,
I am trying to write a javascript app that talks HTTP to the jetty
interface. The problem here is that the documentation is unclear how to
do this. Essentially what I want to do is have an app write messages to
a topic and my javascript make calls back to the jetty interface. I am
using apache as a reverse proxy so the ajax calls will work. No matter
what I do I cannot seem to read a a message off a given topic. The page
http://activemq.apache.org/rest-protocols.html has information that is,
apprently, flatly wrong. If someone could just show me a curl session
that pulls messages of a given session that would probably clear up all
my confusion.
My javascript looks like (I am using mochikit)
AMQPuller = function() {
bindMethods(this);
}
AMQPuller.prototype.initialize = function() {
/* First thing we do is build the initial POST so we can start
polling */
log('init');
var def = doXHR('http://' + location.host +
'/proxy/subscribe/feg208/earnings', { 'method':'HEAD',
'headers':{ 'clientID':'feg208' } } ).addCallback(this.Poll);
def.addErrback(this.HandleError);
}
AMQPuller.prototype.HandleError = function(err) {
swapDOM('center', P({ 'id':'center' }, err));
}
AMQPuller.prototype.MakeRequest = function() {
var def = doXHR('http://' + location.host +
'/proxy/message/feg208/1', { 'method':'GET',
'queryString':{ 'timeout':'0', 'destination':'earnings',
'type':'topic' }, 'headers': { 'clientID':'feg208' } } );
def.addCallback(this.ProcessResponse);
return def;
}
AMQPuller.prototype.ProcessResponse = function(resp) {
swapDOM('center', P({ 'id':'center' }, resp.responseText));
this.Poll();
}
AMQPuller.prototype.Poll = function() {
var def = wait(15).addCallback(this.MakeRequest);
def.addErrback(this.HandleError);
}
AMQPuller.prototype.Unsubscribe = function() {
var def = doXHR('http://' + location.host +
'/proxy/unsubscribe/feg208/earnings', { 'method':'HEAD',
'headers':{ 'clientID':'feg208' } } ).addErrback(this.HandleError);
return def;
}
amqpuller = new AMQPuller();
addLoadEvent(amqpuller.initialize);
and my local apache config looks like:
<VirtualHost *:80>
DocumentRoot "/home/hal9000/static"
ServerName local-modperl.wssource.com
ServerAlias local.wssource.com
CustomLog /var/log/apache2/local-modperl.wssource.com-access_log
combined
ErrorLog /var/log/apache2/local-modperl.wssource.com-error_log
ProxyRequests off
ProxyPass /proxy/ http://192.168.1.15:8080/
<Location /proxy/>
ProxyPassReverse /
</Location>
<Location "/">
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Location>
</VirtualHost>
Thanks for the time.
Fred