You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by sa...@apache.org on 2006/04/13 20:08:05 UTC
svn commit: r393875 -
/webservices/axis2/trunk/c/modules/core/transport/http/sender/soap_over_http_sender.c
Author: samisa
Date: Thu Apr 13 11:08:02 2006
New Revision: 393875
URL: http://svn.apache.org/viewcvs?rev=393875&view=rev
Log:
Fixed the incorrect SOAP Action for SOAP 1.2
We were adding it as SOAPAction http header, but this should really go as action part of Content-Type.
I fixed the code to send the SOAP action only if it is SOAP 1.1, else to append to Content-Type.
Modified:
webservices/axis2/trunk/c/modules/core/transport/http/sender/soap_over_http_sender.c
Modified: webservices/axis2/trunk/c/modules/core/transport/http/sender/soap_over_http_sender.c
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/core/transport/http/sender/soap_over_http_sender.c?rev=393875&r1=393874&r2=393875&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/core/transport/http/sender/soap_over_http_sender.c (original)
+++ webservices/axis2/trunk/c/modules/core/transport/http/sender/soap_over_http_sender.c Thu Apr 13 11:08:02 2006
@@ -264,9 +264,13 @@
http_header = axis2_http_header_create(env, AXIS2_HTTP_HEADER_USER_AGENT,
"Axis2/C");
AXIS2_HTTP_SIMPLE_REQUEST_ADD_HEADER(request, env, http_header);
- http_header = axis2_http_header_create(env, AXIS2_HTTP_HEADER_SOAP_ACTION,
- soap_action);
- AXIS2_HTTP_SIMPLE_REQUEST_ADD_HEADER(request, env, http_header);
+ if(AXIS2_TRUE == AXIS2_MSG_CTX_GET_IS_SOAP_11(msg_ctx, env))
+ {
+ http_header = axis2_http_header_create(env, AXIS2_HTTP_HEADER_SOAP_ACTION,
+ soap_action);
+ AXIS2_HTTP_SIMPLE_REQUEST_ADD_HEADER(request, env, http_header);
+ }
+
if(AXIS2_FALSE == sender_impl->chunked)
{
axis2_char_t tmp_buf[10];
@@ -286,13 +290,26 @@
if(AXIS2_TRUE == AXIS2_MSG_CTX_GET_IS_SOAP_11(msg_ctx, env))
{
content_type = AXIS2_HTTP_HEADER_ACCEPT_TEXT_XML;
+ content_type = AXIS2_STRACAT(content_type, ";charset=", env);
+ content_type = AXIS2_STRACAT(content_type, char_set_enc, env);
}
else
{
content_type = AXIS2_HTTP_HEADER_ACCEPT_APPL_SOAP;
+ content_type = AXIS2_STRACAT(content_type, ";charset=", env);
+ content_type = AXIS2_STRACAT(content_type, char_set_enc, env);
+ content_type = AXIS2_STRACAT(content_type, ";action=\"", env);
+ content_type = AXIS2_STRACAT(content_type, soap_action, env);
+ content_type = AXIS2_STRACAT(content_type, "\";", env);
}
http_header = axis2_http_header_create(env, AXIS2_HTTP_HEADER_CONTENT_TYPE,
content_type);
+ if (content_type)
+ {
+ AXIS2_FREE((*env)->allocator, content_type);
+ content_type = NULL;
+ }
+
AXIS2_HTTP_SIMPLE_REQUEST_ADD_HEADER(request, env, http_header);
if(0 == AXIS2_STRCMP(sender_impl->http_version,
AXIS2_HTTP_HEADER_PROTOCOL_11))