I have a question: 

Are the samples delivered with your axis2C kit running?

There are all kind of samples, simple and more complex ones. 

If you work / debugging through this examples, you learn a lot.

Once an example is running, enhance it with your code below: i.e.

call to axis2_msg_ctx_get_property

 

But make sure, that at the client side, the client has in fact feed a
property into the message context.

If the client does not pass a property into the message context for
transport to the server, NULL at the 

server side is normal. Or what else would you expect from the server in
this case?

 

Josef

 

Von: Pavani J [mailto:jpavan...@gmail.com] 
Gesendet: Montag, 25. Februar 2013 20:01
An: c-user@axis.apache.org
Betreff: New Axis2c user - Axis2c API returning NULL

 

Hi,

 

I am a new user of Axis2c and I am stuck because of the following:

 

I have WSDL generated C stubs and using axis2c-1.7.0 to deploy web
service based on them. I am on server side.

 

Below is my code snippets that I tried to get HTTP header and it is
returning NULL. Actually I am trying to get Cookie information from
header.  I could see the headers with Cookie information when I did a
packet capture using wireshark, where Axis2c API is returning NULL for
the same.

Please let me know if there is anything wrong with the following code.

 

1) First method

    axutil_property_t* property = NULL;

    axis2_char_t* prop_val = NULL;

    property = axis2_msg_ctx_get_property(msg_ctx, env,

AXIS2_TRANSPORT_HEADERS);  // <--- this is returning NULL

    if (property == NULL)

    {

        printf("property is NULL\n\n");

    }

    else

    {

        prop_val = (axis2_char_t*)axutil_property_get_value(property,
env);

        if (prop_val == NULL)

        {

            printf(" prop_val is NULL\n\n");

        }

        else

        {

            printf("prop_val: %s\n\n", prop_val);

        }

    }

 

2) Second Method

 

    axutil_hash_t* header = NULL;

    header = axis2_msg_ctx_get_transport_headers(msg_ctx, env);   //
<--- This is returning NULL

    if (header)

    {

        axis2_http_header_t* test = NULL;

        test = (axis2_http_header_t*) axutil_hash_get(header,

AXIS2_HTTP_HEADER_COOKIE, AXIS2_HASH_KEY_STRING);

        if (test)

        {

            axis2_char_t* val = NULL;

            val = axis2_http_header_get_value(test, env);

            if (val)

            {

                printf (" axis2_http_header_get_value, val: %s\n\n",
val);

            }

            else

            {

                printf("axis2_http_header_get_value returned NULL\n\n");

            }

        }

        else

        {

            printf("axutil_hash_get returned NULL\n\n");

        }

    }

    else

    {

        printf("axis2_msg_ctx_get_transport_headers returned NULL\n\n");

    }

 

 

Any help is appreciated.

 

Thanks,

Pavani

 

 

Reply via email to