Author: dinesh Date: Tue Dec 11 03:49:41 2007 New Revision: 603217 URL: http://svn.apache.org/viewvc?rev=603217&view=rev Log: fixed:axis2c-809 thanks Bill Mitchell for the patch
Modified: webservices/axis2/trunk/c/samples/user_guide/clients/echo_blocking_auth.c webservices/axis2/trunk/c/src/core/transport/http/sender/libcurl/axis2_libcurl.c Modified: webservices/axis2/trunk/c/samples/user_guide/clients/echo_blocking_auth.c URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/samples/user_guide/clients/echo_blocking_auth.c?rev=603217&r1=603216&r2=603217&view=diff ============================================================================== --- webservices/axis2/trunk/c/samples/user_guide/clients/echo_blocking_auth.c (original) +++ webservices/axis2/trunk/c/samples/user_guide/clients/echo_blocking_auth.c Tue Dec 11 03:49:41 2007 @@ -1,4 +1,3 @@ - /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with @@ -38,8 +37,6 @@ axis2_svc_client_t *svc_client = NULL; axiom_node_t *payload = NULL; axiom_node_t *ret_node = NULL; - axiom_node_t *payload2 = NULL; - axiom_node_t *ret_node2 = NULL; const axis2_char_t *un = NULL; const axis2_char_t *pw = NULL; const axis2_char_t *unp = NULL; Modified: webservices/axis2/trunk/c/src/core/transport/http/sender/libcurl/axis2_libcurl.c URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/src/core/transport/http/sender/libcurl/axis2_libcurl.c?rev=603217&r1=603216&r2=603217&view=diff ============================================================================== --- webservices/axis2/trunk/c/src/core/transport/http/sender/libcurl/axis2_libcurl.c (original) +++ webservices/axis2/trunk/c/src/core/transport/http/sender/libcurl/axis2_libcurl.c Tue Dec 11 03:49:41 2007 @@ -28,6 +28,7 @@ axutil_array_list_t *alist; unsigned int size; const axutil_env_t *env; + char errorbuffer[CURL_ERROR_SIZE]; } axis2_libcurl_t; size_t axis2_libcurl_write_memory_callback( @@ -83,6 +84,10 @@ int output_stream_size = 0; data = axis2_libcurl_create(env); + if (!data) + { + return AXIS2_FAILURE; + } if (!ref) { handler = curl_easy_init(); @@ -92,6 +97,7 @@ { curl_easy_reset(handler); } + curl_easy_setopt(handler, CURLOPT_ERRORBUFFER, &data->errorbuffer); headers = curl_slist_append(headers, AXIS2_HTTP_HEADER_USER_AGENT_AXIS2C); headers = curl_slist_append(headers, AXIS2_HTTP_HEADER_ACCEPT_); headers = curl_slist_append(headers, AXIS2_HTTP_HEADER_EXPECT_); @@ -111,11 +117,13 @@ AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "%s", AXIS2_ERROR_GET_MESSAGE(env->error)); + axis2_libcurl_free(data, env); return AXIS2_FAILURE; } body_node = axiom_soap_body_get_base_node(soap_body, env); if (!body_node) { + axis2_libcurl_free(data, env); return AXIS2_FAILURE; } data_out = axiom_node_get_first_element(body_node, env); @@ -321,7 +329,14 @@ /* curl_easy_setopt (handler, CURLOPT_HEADERFUNCTION, axis2_libcurl_header_callback); */ /* curl_easy_setopt (handler, CURLOPT_WRITEHEADER, header); */ - curl_easy_perform(handler); + if (curl_easy_perform(handler)) + { + AXIS2_LOG_ERROR (env->log, AXIS2_LOG_SI, "%s", &data->errorbuffer); + AXIS2_ERROR_SET (env->error, AXIS2_ERROR_HTTP_CLIENT_TRANSPORT_ERROR, + AXIS2_FAILURE); + axis2_libcurl_free(data, env); + return AXIS2_FAILURE; + } /* curl_slist_free_all (headers); */ @@ -335,6 +350,8 @@ axutil_property_set_value(trans_in_property, env, in_stream); axis2_msg_ctx_set_property(msg_ctx, env, AXIS2_TRANSPORT_IN, trans_in_property); + + axis2_libcurl_free(data, env); return AXIS2_SUCCESS; } @@ -393,9 +410,12 @@ curl = (axis2_libcurl_t *) AXIS2_MALLOC(env->allocator, sizeof(axis2_libcurl_t)); - curl->size = 0; - curl->alist = axutil_array_list_create(env, 7); - curl->env = env; + if (curl) + { + curl->size = 0; + curl->alist = axutil_array_list_create(env, 7); + curl->env = env; + } return curl; } --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]