Thanks nandika. In case anyone else is scratching their head ,this is how to do it..
op_ctx = axis2_msg_ctx_get_op_ctx(msg_ctx, env); in_msg_ctx = axis2_op_ctx_get_msg_ctx(op_ctx, env, AXIS2_WSDL_MESSAGE_LABEL_IN); const axis2_char_t *action1 = NULL; action1=axutil_string_get_buffer(axis2_msg_ctx_get_soap_action(in_msg_ctx, env), env); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI,"The soap action is %s",action1); Cheers! On Tue, Oct 19, 2010 at 6:54 PM, Nandika Jayawardana <jayaw...@gmail.com>wrote: > What you have in the service invoke method it the outgoing message context. > Action would be available on the incoming message context. First get the in > message context and then get the soap action. > > Regards > Nandika > > > On Tue, Oct 19, 2010 at 9:34 PM, Rico M <rickom...@gmail.com> wrote: > >> Does this need a JIRA? Sorry to press ,but more or less my implementation >> relies on fetching this... >> >> >> On Mon, Oct 18, 2010 at 9:01 AM, Rico M <rickom...@gmail.com> wrote: >> >>> Anyone ? :( >>> >>> >>> On Fri, Oct 15, 2010 at 11:47 AM, Rico M <rickom...@gmail.com> wrote: >>> >>>> Further logs ; >>>> >>>> [Fri Oct 15 11:27:32 2010] [debug] apache2_worker.c(241) >>>> http://localhost:8080/axis2/services/ReceiveMessageAsync >>>> [Fri Oct 15 11:27:32 2010] [debug] apache2_worker.c(299) Client HTTP >>>> version HTTP/1.1 >>>> [Fri Oct 15 11:27:32 2010] [debug] soap_builder.c(883) Identified soap >>>> version is soap11 >>>> [Fri Oct 15 11:27:32 2010] [debug] phase.c(201) Invoke the handler >>>> request_uri_based_dispatcher within the phase Transport >>>> [Fri Oct 15 11:27:32 2010] [debug] req_uri_disp.c(97) Checking for >>>> service using target endpoint address : >>>> http://localhost:8080/axis2/services/ReceiveMessageAsync >>>> [Fri Oct 15 11:27:32 2010] [debug] req_uri_disp.c(117) Service found >>>> using target endpoint address >>>> [Fri Oct 15 11:27:32 2010] [error] phase.c(231) INVOKEDONE >>>> [Fri Oct 15 11:27:32 2010] [debug] phase.c(201) Invoke the handler >>>> AddressingInHandler within the phase Transport >>>> [Fri Oct 15 11:27:32 2010] [info] Starting addressing in handler >>>> [Fri Oct 15 11:27:32 2010] [info] addr_in_handler.c >>>> [Fri Oct 15 11:27:32 2010] [debug] phase.c(201) Invoke the handler >>>> addressing_based_dispatcher within the phase Transport >>>> [Fri Oct 15 11:27:32 2010] [debug] phase.c(201) Invoke the handler >>>> rest_dispatcher within the phase Dispatch >>>> [Fri Oct 15 11:27:32 2010] [debug] phase.c(201) Invoke the handler >>>> soap_message_body_based_dispatcher within the phase Dispatch >>>> [Fri Oct 15 11:27:32 2010] [debug] soap_body_disp.c(200) Checking for >>>> operation using SOAP messagebody's first child's local name : Request >>>> [Fri Oct 15 11:27:32 2010] [debug] phase.c(201) Invoke the handler >>>> soap_action_based_dispatcher within the phase Dispatch >>>> [Fri Oct 15 11:27:32 2010] [debug] soap_action_disp.c(108) Checking for >>>> operation using SOAPAction : >>>> "http://abc.org#RecAsync<http://abc.org/#RecAsync> >>>> " >>>> [Fri Oct 15 11:27:32 2010] [debug] soap_action_disp.c(139) Operation >>>> found using SOAPAction >>>> [Fri Oct 15 11:27:32 2010] [debug] phase.c(201) Invoke the handler >>>> dispatch_post_conditions_evaluator within the phase PostDispatch >>>> [Fri Oct 15 11:27:32 2010] [debug] phase.c(201) Invoke the handler >>>> context_handler within the phase PostDispatch >>>> [Fri Oct 15 11:27:32 2010] [debug] ReceiveMessageAsync.c(100) NULL VAL >>>> ON SOAPACTION >>>> [Fri Oct 15 11:27:32 2010] [debug] ReceiveMessageAsync.c(103) Value ist >>>> (null) >>>> [Fri Oct 15 11:27:32 2010] [debug] phase.c(201) Invoke the handler >>>> AddressingOutHandler within the phase MessageOut >>>> [Fri Oct 15 11:27:32 2010] [info] Starting addressing out handler >>>> [Fri Oct 15 11:27:32 2010] [debug] addr_out_handler.c(137) No action >>>> present. Stop processing addressing >>>> [Fri Oct 15 11:27:32 2010] [warning] msg_ctx.c(1384) session-table not >>>> set in message context >>>> [Fri Oct 15 11:27:32 2010] [warning] msg_ctx.c(1384) session-table not >>>> set in message context >>>> >>>> >>>> Also tried to retrive the same from options , but still fetching NULL :( >>>> >>>> >>>> On Fri, Oct 15, 2010 at 10:37 AM, Rico M <rickom...@gmail.com> wrote: >>>> >>>>> Hi , >>>>> >>>>> I am facing a strange problem while trying to retrieve the soap Action >>>>> value from the HTTP headers. >>>>> >>>>> *Following is the header : * >>>>> >>>>> POST /axis2/services/ReceiveMessageAsync HTTP/1.1 >>>>> User-Agent: Axis2C/1.7.0 >>>>> SOAPAction: "http://abc.org#RecAsync" >>>>> Content-Length: 693 >>>>> Content-Type: text/xml;charset=UTF-8 >>>>> Host: local host:8080 >>>>> >>>>> This is how I am retrieving the value : >>>>> >>>>> axiom_node_t *AXIS2_CALL ReceiveMessageAsync_invoke( >>>>> axis2_svc_skeleton_t * svc_skeleton, const axutil_env_t * env, >>>>> axiom_node_t >>>>> * node, axis2_msg_ctx_t * msg_ctx) >>>>> { >>>>> >>>>> if(node) >>>>> { >>>>> const axis2_char_t *action1 = NULL; >>>>> axis2_char_t *action = "kk"; >>>>> const struct axutil_string *itstring = >>>>> axis2_msg_ctx_get_soap_action(msg_ctx, env); >>>>> if(itstring==NULL) >>>>> AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI,"NULL VAL ON >>>>> SOAPACTION"); >>>>> >>>>> action1 = >>>>> axutil_string_get_buffer(axis2_msg_ctx_get_soap_action(msg_ctx, env), >>>>> env); >>>>> AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI,"Value ist %s",action1); >>>>> } >>>>> return node; >>>>> } >>>>> >>>>> >>>>> The above is printing NULL in both cases. Any suggestions? >>>>> >>>> >>>> >>> >> >