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