axis-c-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jean-Sebastien Delfino (JIRA)" <j...@apache.org>
Subject [jira] Commented: (AXIS2C-321) Registered handlers not invoked at all on REST GET requests
Date Tue, 10 Oct 2006 20:04:20 GMT
    [ 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: axis-c-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-c-dev-help@ws.apache.org


Mime
View raw message