[ 
http://issues.apache.org/jira/browse/AXIS2C-321?page=comments#action_12441273 ] 
            
Jean-Sebastien Delfino commented on AXIS2C-321:
-----------------------------------------------

I'd like to use handlers mainly to customize the dispatch algorithm.

For example, to invoke my REST service instead of doing this:
http://localhost:9090/axis2/services/CustomerService/getCustomer?customerID=1234

I'd like to do:
http://localhost:9090/axis2/services/Customer/1234

I also need to customize the dispatch algorithm to use the Tuscany metadata 
directly (we use SCA bindings to describe which services are exposed and at 
which URI) instead of having to translate it to services.xml etc.

Thanks.


> Registered handlers not invoked at all on REST GET requests
> -----------------------------------------------------------
>
>                 Key: AXIS2C-321
>                 URL: http://issues.apache.org/jira/browse/AXIS2C-321
>             Project: Axis2-C
>          Issue Type: Bug
>          Components: core/engine
>    Affects Versions: Current (Nightly), 0.93, 0.94
>            Reporter: Jean-Sebastien Delfino
>
> Modules registered in the Dispatch phase are not invoked at all by the engine 
> during the processing of REST / HTTP GET requests.
> The following code hardcodes a call to the req_uri_disp dispatcher. Instead 
> it should call the handlers registered in the Dispatch phase like is done for 
> regular Web Service requests.
> AXIS2_EXTERN axis2_status_t AXIS2_CALL
> axis2_http_transport_utils_dispatch_and_verify(
>     const axis2_env_t *env,
>     axis2_msg_ctx_t *msg_ctx)
> {
>     axis2_disp_t *req_uri_disp = NULL;
>     axis2_handler_t *handler = NULL;
>     AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
>     AXIS2_PARAM_CHECK(env->error, msg_ctx, AXIS2_FAILURE);
>     req_uri_disp = axis2_req_uri_disp_create(env);
>     handler = AXIS2_DISP_GET_BASE(req_uri_disp, env);
>     AXIS2_HANDLER_INVOKE(handler, env, msg_ctx);
>     if(NULL == AXIS2_MSG_CTX_GET_SVC(msg_ctx, env) || NULL ==
>             AXIS2_MSG_CTX_GET_OP(msg_ctx, env))
>     {
>         AXIS2_ERROR_SET(env->error, AXIS2_ERROR_SVC_OR_OP_NOT_FOUND,
>                 AXIS2_FAILURE);
>         return AXIS2_FAILURE;
>     }
>     return AXIS2_SUCCESS;
> }
> This issue is blocking for us (the Tuscany project) and prevents us from 
> using Axis2C to handle REST / GET requests.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to