You are viewing a plain text version of this content. The canonical link for it is here.
Posted to axis-cvs@ws.apache.org by sa...@apache.org on 2006/01/25 10:23:01 UTC

svn commit: r372170 - in /webservices/axis2/trunk/c/modules/core: deployment/svc_builder.c receivers/raw_xml_in_out_msg_recv.c transport/http/sender/http_transport_sender.c

Author: samisa
Date: Wed Jan 25 01:22:52 2006
New Revision: 372170

URL: http://svn.apache.org/viewcvs?rev=372170&view=rev
Log:
Added more fixes to get the simple service working

Modified:
    webservices/axis2/trunk/c/modules/core/deployment/svc_builder.c
    webservices/axis2/trunk/c/modules/core/receivers/raw_xml_in_out_msg_recv.c
    webservices/axis2/trunk/c/modules/core/transport/http/sender/http_transport_sender.c

Modified: webservices/axis2/trunk/c/modules/core/deployment/svc_builder.c
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/core/deployment/svc_builder.c?rev=372170&r1=372169&r2=372170&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/core/deployment/svc_builder.c (original)
+++ webservices/axis2/trunk/c/modules/core/deployment/svc_builder.c Wed Jan 25 01:22:52 2006
@@ -344,7 +344,6 @@
     svc_folder_path = AXIS2_FILE_GET_PATH(svc_folder, env);
     temp_path = AXIS2_STRACAT(svc_folder_path, AXIS2_PATH_SEP_STR, env);
     dll_path = AXIS2_STRACAT(temp_path, svc_dll_name, env);
-    printf("dll_path:%s\n", dll_path);
     AXIS2_DLL_DESC_SET_NAME(dll_desc, env, dll_path);
     /* param does not free the value, because it does not know the value type.
      * therefore we free the value

Modified: webservices/axis2/trunk/c/modules/core/receivers/raw_xml_in_out_msg_recv.c
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/core/receivers/raw_xml_in_out_msg_recv.c?rev=372170&r1=372169&r2=372170&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/core/receivers/raw_xml_in_out_msg_recv.c (original)
+++ webservices/axis2/trunk/c/modules/core/receivers/raw_xml_in_out_msg_recv.c Wed Jan 25 01:22:52 2006
@@ -134,6 +134,7 @@
         body = AXIS2_SOAP_ENVELOPE_GET_BODY(envelope, env);
         om_node = AXIS2_SOAP_BODY_GET_BASE_NODE(body, env);
         om_element = AXIS2_OM_NODE_GET_DATA_ELEMENT(om_node, env);
+        om_node = AXIS2_OM_NODE_GET_FIRST_CHILD(om_node, env);
         
     }
     else if(0 == AXIS2_STRCMP(AXIS2_STYLE_RPC, style))
@@ -208,35 +209,55 @@
                 AXIS2_ERROR_UNKNOWN_STYLE, AXIS2_FAILURE);
         return AXIS2_FAILURE;
     }
+    
     result_node = AXIS2_SVC_SKELETON_INVOKE(svc_obj, env, om_node);
+    
     if(0 == AXIS2_STRCMP(style, AXIS2_STYLE_RPC))
     {
         axis2_om_namespace_t *ns = NULL;
         axis2_char_t *res_name = NULL;
         
-        default_envelope = axis2_soap_envelope_create_null(env);
-        out_body = AXIS2_SOAP_ENVELOPE_GET_BODY(default_envelope, env);
-        if(!default_envelope)
-        {
-            return AXIS2_FAILURE;
-        }
         res_name = AXIS2_STRACAT(local_name, "Response", env);
         ns = axis2_om_namespace_create(env, "http://soapenc/", "res");
         if(!ns)
         {
             return AXIS2_FAILURE;
         }
-        out_node = AXIS2_SOAP_BODY_GET_BASE_NODE(out_body, env);
-        body_content_element = axis2_om_element_create(env, out_node, res_name, 
+        body_content_element = axis2_om_element_create(env, NULL, res_name, 
             ns, &body_content_node);
         
-        AXIS2_OM_NODE_ADD_CHILD(body_content_node, env, result_node);
+        AXIS2_OM_NODE_ADD_CHILD(result_node, env, body_content_node);
         
     }
     else
     {
         body_content_node = result_node;
     }
+
+    /* create the soap envelope here*/
+    axis2_om_namespace_t *env_ns = 
+        axis2_om_namespace_create(env, "http://www.w3.org/2003/05/soap-envelope", "env"); /** TODO: Change to get the correct SOAP version */
+    default_envelope = axis2_soap_envelope_create(env, env_ns);
+
+    if (!default_envelope)
+    {
+        return AXIS2_FAILURE;
+    }
+
+    out_body = axis2_soap_body_create_with_parent(env, default_envelope);
+    if (!out_body)
+    {
+        return AXIS2_FAILURE;
+    }
+
+    out_node = AXIS2_SOAP_BODY_GET_BASE_NODE(out_body, env);
+    if (!out_node)
+    {
+        return AXIS2_FAILURE;
+    }
+
+    AXIS2_OM_NODE_ADD_CHILD(body_content_node, env, out_node);
+
     return AXIS2_MSG_CTX_SET_SOAP_ENVELOPE(new_msg_ctx, env, default_envelope);
 }
 

Modified: webservices/axis2/trunk/c/modules/core/transport/http/sender/http_transport_sender.c
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/core/transport/http/sender/http_transport_sender.c?rev=372170&r1=372169&r2=372170&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/core/transport/http/sender/http_transport_sender.c (original)
+++ webservices/axis2/trunk/c/modules/core/transport/http/sender/http_transport_sender.c Wed Jan 25 01:22:52 2006
@@ -249,8 +249,9 @@
 			 */
 			AXIS2_HTTP_OUT_TRANSPORT_INFO_SET_CHAR_ENCODING(out_info, env, 
 							char_set_enc);
-			AXIS2_HTTP_OUT_TRANSPORT_INFO_SET_CONTENT_TYPE(out_info, env, 
-							AXIS2_OM_OUTPUT_GET_CONTENT_TYPE(om_output, env));
+			/*TODO: uncomment this
+            AXIS2_HTTP_OUT_TRANSPORT_INFO_SET_CONTENT_TYPE(out_info, env, 
+							AXIS2_OM_OUTPUT_GET_CONTENT_TYPE(om_output, env));*/
 			/* AXIS2_OM_OUTPUT_SET_DO_OPTIMIZE(om_output, env, 
 			 *				AXIS2_MSG_CTX_GET_IS_DOING_MTOM(msg_ctx, env);
 			 */