Hello,

      I think I have already taken care of assigning the Skeleton init function 
to the service_init function. The below code is an extract from the 
echo_skeleton.c file:

static const axis2_svc_skeleton_ops_t echo_svc_skeleton_ops_var = {
    echo_init,
    echo_invoke,
    echo_on_fault,
    echo_free
};

axis2_svc_skeleton_t *
axis2_echo_create(
    const axutil_env_t * env)
{
    axis2_svc_skeleton_t *svc_skeleton = NULL;
    /* Allocate memory for the structs */
    svc_skeleton = AXIS2_MALLOC(env->allocator, sizeof(axis2_svc_skeleton_t));

    svc_skeleton->ops = &echo_svc_skeleton_ops_var;

    svc_skeleton->func_array = NULL;

    return svc_skeleton;
}

 Moreover, I have not changed anything in the code. So I think there is no 
possibility of me not setting some code parameter. There would be some other 
issue.
I hope this helps you in guiding me.

Thanks,
Shivam.

________________________________
From: Supun Kamburugamuva [mailto:[EMAIL PROTECTED]
Sent: Monday, September 29, 2008 3:15 PM
To: Apache AXIS C Developers List
Subject: Re: Memory fault in Axis2C

Please check weather you have defined the init function of the service and set 
it to the service skeleton.

The method signature of this function is:

int AXIS2_CALL echo_init(
    axis2_svc_skeleton_t * svc_skeleton,
    const axutil_env_t * env);

Supun..


On Mon, Sep 29, 2008 at 2:30 PM, Gupta, Shivam <[EMAIL PROTECTED]<mailto:[EMAIL 
PROTECTED]>> wrote:
Hello,

   We are trying to run Axis on Unix platform. However, when we try to invoke 
the 'echo' webservice, the Axis server crashes giving a memory fault. In the 
mail below I have explained the findings I derived after debugging Axis2c:

1). I had built the libecho.so file using the following files : echo.c, echo.h 
and echo_skeleton.c

2). The Axis2 Log clearly states that the "libecho.so loaded successfully".

3). The processing of the request proceeds till the statement :

File: msg_recv.c

Function: axis2_msg_recv_make_new_svc_obj Code Lines:

if (impl_class)

{

AXIS2_SVC_SKELETON_INIT((axis2_svc_skeleton_t *) impl_class, env); } 
axutil_allocator_switch_to_local_pool(env->allocator);

4). the Code exits and the Axis server crashes. I have also made sure that the 
functions are built inside the libecho.so file. It is not an empty linkable.

Please help me out here. I am not able to figure out waht is going wrong here.

Regards,

Shivam.









--
Software Engineer, WSO2 Inc
http://wso2.org

Reply via email to