Details
-
Improvement
-
Status: Resolved
-
Minor
-
Resolution: Fixed
-
1.5.0
-
None
Description
#1 Adds http headers to msg_ctx when using axis2/c module for apache
I noticed however this functionality were only implemented for the
standalone server. When using the axis module for apache http headers
were not added to the msg_ctx so they were not accessible @ the inflow
handlers level for instance.
#2 Adds forbidden definition tags for http forbidden code which is
missing in standard release
#define AXIS2_HTTP_RESPONSE_FORBIDDEN_CODE_VAL 403
#define AXIS2_HTTP_RESPONSE_HTTP_FORBIDDEN_CODE_NAME "Forbidden"
#define AXIS2_HTTP_RESPONSE_HTTP_FORBIDDEN "403 Forbidden"
#3 Adds support to specify feedback for REST requests, when a module
failure occurs.
This issue is related to the difference between soap and rest
requests. When an inflow handler fails two things can happen depending
on the request type:
- For SOAP requests, the inflow handler chain is broken, and all the
outflow fault handlers are invoked. The response soap envelope
response containing a default fault is built by axis in between these
phases, so we can edit the fault accordingly @ the outflow fault
handlers. - For REST requests, the inflow handler chain is also broken, but the
outflow fault handlers are not invoked. This is not a problem, and is
probably intended, since unlike soap there is no need to create a soap
envelope. The thing is when this happens it always returned 202
ACCEPTED, which is not enough to provide any feedback to the user who
made the request.
@ the inflow handler is now possible to set the desired status code
desired for the response, extra http headers, and/or http content. It
was already possible before, changes just weren't propagated to the
actual response.
inflow handler example with the patch:
..
// For REST requests
if (doing_rest && AXIS2_FAILURE == result)
return result;
}
Attachments
Attachments
Issue Links
- is duplicated by
-
AXIS2C-1646 Service hosted thru Apache2 has no access to user defined HTTP headers
- Closed