Re: New Axis2c user - Axis2c API returning NULL - Solved

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Re: New Axis2c user - Axis2c API returning NULL - Solved

Pavani J
Hi,

I got it working with second method of my code snippets by changing " exposeHeaders " value from false to true for transportReceiver in axis2.xml

Thanks all for your suggestions, really appreciate it.

Regards,
Pavani

On Tue, Feb 26, 2013 at 4:09 PM, Pavani J <[hidden email]> wrote:
Hi,

I forgot to mention that I am using simple axis2 HTTP server, axis2_http_server on linux.

Below is from client to server:

POST /axis2/services/MyService8.0 HTTP/1.1
Cookie: MYSESSIONID=92f1e42d-bef3-4726-9b31-a5335ec123f8
Content-Type: application/soap+xml; charset=utf-8; action="urn:getNumberOfEntries"
Content-Length: 538
Expect: 100-continue
Accept-Encoding: gzip, deflate

I am interested in Cookie in the header.

Any help is appreciated.

Thanks,
Pavani


On Tue, Feb 26, 2013 at 1:21 PM, Pavani J <[hidden email]> wrote:
Hi,

I went through samples/server/session.
Do I need to
1.  have/create mysql database table for session-table 
2. build apache module with mod-dbd enabled 
for message context, msg_ctx to return Cookie information?
Or it is there for sample code to work?

Client is setting HTTP headers properly, I can see Cookie information on wireshark.


Any help is appreciated.

Thanks,
Pavani


On Tue, Feb 26, 2013 at 12:34 AM, Stadelmann Josef <[hidden email]> wrote:

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:[hidden email]]
Gesendet: Montag, 25. Februar 2013 20:01
An: [hidden email]
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 | Threaded
Open this post in threaded view
|

AW: New Axis2c user - Axis2c API returning NULL - Solved

Stadelmann Josef-2

Your very welcome, even d do not always have results at hand, I think it was a good exercise for you and since you mastered your problem you're even better prepared than ever before to master your next steps and have satisfaction. Josef

 

Von: Pavani J [mailto:[hidden email]]
Gesendet: Mittwoch, 27. Februar 2013 07:38
An: Apache AXIS C User List
Betreff: Re: New Axis2c user - Axis2c API returning NULL - Solved

 

Hi,

 

I got it working with second method of my code snippets by changing " exposeHeaders " value from false to true for transportReceiver in axis2.xml

 

Thanks all for your suggestions, really appreciate it.

 

Regards,

Pavani

On Tue, Feb 26, 2013 at 4:09 PM, Pavani J <[hidden email]> wrote:

Hi,

 

I forgot to mention that I am using simple axis2 HTTP server, axis2_http_server on linux.

 

Below is from client to server:

 

POST /axis2/services/MyService8.0 HTTP/1.1

Cookie: MYSESSIONID=92f1e42d-bef3-4726-9b31-a5335ec123f8

Content-Type: application/soap+xml; charset=utf-8; action="urn:getNumberOfEntries"

Content-Length: 538

Expect: 100-continue

Accept-Encoding: gzip, deflate

 

I am interested in Cookie in the header.

 

Any help is appreciated.

 

Thanks,

Pavani

 

On Tue, Feb 26, 2013 at 1:21 PM, Pavani J <[hidden email]> wrote:

Hi,

 

I went through samples/server/session.

Do I need to

1.  have/create mysql database table for session-table 

2. build apache module with mod-dbd enabled 

for message context, msg_ctx to return Cookie information?

Or it is there for sample code to work?

 

Client is setting HTTP headers properly, I can see Cookie information on wireshark.

 

 

Any help is appreciated.

 

Thanks,

Pavani

 

On Tue, Feb 26, 2013 at 12:34 AM, Stadelmann Josef <[hidden email]> wrote:

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:[hidden email]]
Gesendet: Montag, 25. Februar 2013 20:01
An: [hidden email]
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