Interesting HTTPService Feature!

Several hours later I have finally discovered why my RESTful HTTPService call via BlazeDS was never returning a response*. Well it turns out that it actually was…

Thanks to the Firebug plug-in for Firefox I could see that the HTTP GET request had nonsense  e4x style xml attributes in its <amfx> content. I discovered that these xml attributes were actually the name-value pairs of the request property from the previous service call. A response, of sorts, was being returned but (unfortunately for me) not even a sniff of a FaultEvent was being generated even though the <amfx> response’s body was null! It turns out that the HTTPService send method helpfully(?) sets the parameters of the service call to the name-value pairs generated from the request property if the parameters object of the send method call is null! No really here it is…

public function send(parameters:Object = null):AsyncToken
{
 if (parameters == null)
   parameters = request;
...
}

I now reset my request object before any GET calls are issued…

this.request = {};

I hope this helps someone to avoid wasting as much time as I did on something so trivial.

*I would like to publicly apologise to the Java Web Service that I was blaming for the non-appearance of a response from the HTTPService call.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: