You are viewing a plain text version of this content. The canonical link for it is here.
Posted to c-commits@axis.apache.org by sh...@apache.org on 2010/03/19 13:23:53 UTC
svn commit: r925199 - in /axis/axis2/c/core/trunk:
axiom/src/soap/soap_builder.c src/core/transport/tcp/receiver/tcp_worker.c
src/core/transport/tcp/sender/tcp_transport_sender.c
Author: shankar
Date: Fri Mar 19 12:23:53 2010
New Revision: 925199
URL: http://svn.apache.org/viewvc?rev=925199&view=rev
Log:
Fixing issue AXIS2C-1393
Modified:
axis/axis2/c/core/trunk/axiom/src/soap/soap_builder.c
axis/axis2/c/core/trunk/src/core/transport/tcp/receiver/tcp_worker.c
axis/axis2/c/core/trunk/src/core/transport/tcp/sender/tcp_transport_sender.c
Modified: axis/axis2/c/core/trunk/axiom/src/soap/soap_builder.c
URL: http://svn.apache.org/viewvc/axis/axis2/c/core/trunk/axiom/src/soap/soap_builder.c?rev=925199&r1=925198&r2=925199&view=diff
==============================================================================
--- axis/axis2/c/core/trunk/axiom/src/soap/soap_builder.c (original)
+++ axis/axis2/c/core/trunk/axiom/src/soap/soap_builder.c Fri Mar 19 12:23:53 2010
@@ -133,45 +133,33 @@ axiom_soap_builder_create(
axiom_soap_builder_t *soap_builder = NULL;
axis2_status_t status = AXIS2_SUCCESS;
- AXIS2_PARAM_CHECK(env->error, stax_builder, NULL);
-
- soap_builder = (axiom_soap_builder_t *)AXIS2_MALLOC(env->allocator,
- sizeof(axiom_soap_builder_t));
+ if(!stax_builder)
+ {
+ AXIS2_ERROR_SET(env->error, AXIS2_ERROR_INVALID_NULL_PARAM, AXIS2_FAILURE);
+ AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "STAX builder is invalid.");
+ return NULL;
+ }
- if(soap_builder == NULL)
+ soap_builder = (axiom_soap_builder_t*)AXIS2_MALLOC(env->allocator, sizeof(axiom_soap_builder_t));
+ if(!soap_builder)
{
AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE);
+ AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Insufficient memory to create soap builder");
return NULL;
}
-
- soap_builder->done = AXIS2_FALSE;
- soap_builder->body_present = AXIS2_FALSE;
- soap_builder->builder_helper = NULL;
- soap_builder->element_level = 0;
- soap_builder->header_present = AXIS2_FALSE;
- soap_builder->processing_detail_elements = AXIS2_FALSE;
- soap_builder->processing_fault = AXIS2_FALSE;
- soap_builder->processing_mandatory_fault_elements = AXIS2_FALSE;
- soap_builder->receiver_fault_code = NULL;
- soap_builder->sender_fault_code = NULL;
+ soap_builder = (axiom_soap_builder_t*)memset(soap_builder, 0, sizeof(axiom_soap_builder_t));
soap_builder->soap_version = AXIOM_SOAP12;
soap_builder->last_node_status = -1;
- soap_builder->envelope_ns = NULL;
- soap_builder->soap_envelope = NULL;
- soap_builder->mime_body_parts = NULL;
soap_builder->om_builder = stax_builder;
- soap_builder->mime_parser = NULL;
- soap_builder->callback = NULL;
- soap_builder->callback_ctx = NULL;
status = axiom_soap_builder_identify_soap_version(soap_builder, env, soap_version);
- if(status == AXIS2_FAILURE)
+ if(status != AXIS2_SUCCESS)
{
axiom_soap_builder_free(soap_builder, env);
return NULL;
}
status = axiom_soap_builder_parse_headers(soap_builder, env);
- if(status == AXIS2_FAILURE)
+ if(status != AXIS2_SUCCESS)
{
axiom_soap_builder_free(soap_builder, env);
return NULL;
@@ -865,13 +853,7 @@ axiom_soap_builder_identify_soap_version
axiom_element_t *om_ele = NULL;
axis2_char_t *ns_uri = NULL;
- AXIS2_PARAM_CHECK(env->error, soap_version_uri_from_transport, AXIS2_FAILURE);
- if(!soap_builder)
- {
- return AXIS2_FAILURE;
- }
soap_builder->soap_envelope = axiom_soap_builder_get_soap_envelope(soap_builder, env);
-
if(soap_builder->soap_envelope == NULL)
{
AXIS2_ERROR_SET(env->error, AXIS2_ERROR_SOAP_MESSAGE_DOES_NOT_CONTAIN_AN_ENVELOPE,
@@ -882,7 +864,6 @@ axiom_soap_builder_identify_soap_version
}
envelope_node = axiom_soap_envelope_get_base_node(soap_builder->soap_envelope, env);
-
if(!envelope_node)
{
return AXIS2_FAILURE;
Modified: axis/axis2/c/core/trunk/src/core/transport/tcp/receiver/tcp_worker.c
URL: http://svn.apache.org/viewvc/axis/axis2/c/core/trunk/src/core/transport/tcp/receiver/tcp_worker.c?rev=925199&r1=925198&r2=925199&view=diff
==============================================================================
--- axis/axis2/c/core/trunk/src/core/transport/tcp/receiver/tcp_worker.c (original)
+++ axis/axis2/c/core/trunk/src/core/transport/tcp/receiver/tcp_worker.c Fri Mar 19 12:23:53 2010
@@ -113,9 +113,7 @@ axis2_tcp_worker_process_request(
return AXIS2_FAILURE;
}
- soap_builder
- = axiom_soap_builder_create(env, builder, AXIOM_SOAP12_SOAP_ENVELOPE_NAMESPACE_URI);
-
+ soap_builder= axiom_soap_builder_create(env, builder, NULL);
if(!soap_builder)
{
AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Failed to create SOAP builder");
Modified: axis/axis2/c/core/trunk/src/core/transport/tcp/sender/tcp_transport_sender.c
URL: http://svn.apache.org/viewvc/axis/axis2/c/core/trunk/src/core/transport/tcp/sender/tcp_transport_sender.c?rev=925199&r1=925198&r2=925199&view=diff
==============================================================================
--- axis/axis2/c/core/trunk/src/core/transport/tcp/sender/tcp_transport_sender.c (original)
+++ axis/axis2/c/core/trunk/src/core/transport/tcp/sender/tcp_transport_sender.c Fri Mar 19 12:23:53 2010
@@ -346,8 +346,7 @@ axis2_tcp_transport_sender_invoke(
return AXIS2_FAILURE;
}
- soap_builder = axiom_soap_builder_create(env, builder,
- AXIOM_SOAP12_SOAP_ENVELOPE_NAMESPACE_URI);
+ soap_builder = axiom_soap_builder_create(env, builder, NULL);
if(!soap_builder)
{
AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Failed to create SOAP builder");