         urlLoader.addEventListener(IOErrorEvent.IO_ERROR, httpMsgResp.errorHandler);
         urlLoader.addEventListener(SecurityErrorEvent.SECURITY_ERROR, httpMsgResp.securityErrorHandler);
         urlLoader.addEventListener(Event.COMPLETE, httpMsgResp.completeHandler);
+        urlLoader.addEventListener(HTTPStatusEvent.HTTP_STATUS, httpMsgResp.httpStatusHandler);
         urlLoader.load(urlRequest);
     }
 

        msg.faultDetail = resourceManager.getString(
			"messaging", "httpRequestError.details", [ details ]);
        msg.rootCause = event;
        agent.fault(msg, message);
    }


        ack.clientId = clientId;
        ack.correlationId = message.messageId;
        ack.body = URLLoader(event.target).data;
        ack.headers[AbstractMessage.STATUS_CODE_HEADER] = lastStatus;
        agent.acknowledge(ack, message);
    }

    /**
     *  @private
     */
    public function httpStatusHandler(event:HTTPStatusEvent):void
    {
        lastStatus = event.status;
    }

    /**
     *  Handle a request timeout by closing our associated URLLoader and
     *  faulting the message to the agent.
