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 ma...@apache.org on 2008/06/11 07:08:42 UTC

svn commit: r666526 [2/3] - in /webservices/axis2/branches/c/post_1_4_mtom/c: ./ axiom/ axiom/include/ axiom/src/om/ axiom/src/parser/ axiom/src/parser/libxml2/ axiom/src/soap/ axiom/test/om/ axiom/test/soap/ build/win32/ guththila/include/ guththila/s...

Modified: webservices/axis2/branches/c/post_1_4_mtom/c/guththila/src/guththila_namespace.c
URL: http://svn.apache.org/viewvc/webservices/axis2/branches/c/post_1_4_mtom/c/guththila/src/guththila_namespace.c?rev=666526&r1=666525&r2=666526&view=diff
==============================================================================
--- webservices/axis2/branches/c/post_1_4_mtom/c/guththila/src/guththila_namespace.c (original)
+++ webservices/axis2/branches/c/post_1_4_mtom/c/guththila/src/guththila_namespace.c Tue Jun 10 22:08:36 2008
@@ -20,6 +20,7 @@
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
+
 int GUTHTHILA_CALL
 guththila_namespace_list_grow(guththila_namespace_list_t * namesp_list,int addition,const axutil_env_t * env) 
 {

Modified: webservices/axis2/branches/c/post_1_4_mtom/c/guththila/src/guththila_stack.c
URL: http://svn.apache.org/viewvc/webservices/axis2/branches/c/post_1_4_mtom/c/guththila/src/guththila_stack.c?rev=666526&r1=666525&r2=666526&view=diff
==============================================================================
--- webservices/axis2/branches/c/post_1_4_mtom/c/guththila/src/guththila_stack.c (original)
+++ webservices/axis2/branches/c/post_1_4_mtom/c/guththila/src/guththila_stack.c Tue Jun 10 22:08:36 2008
@@ -36,6 +36,7 @@
         return GUTHTHILA_SUCCESS;
     }
 }
+
 void GUTHTHILA_CALL
 guththila_stack_free(
     guththila_stack_t * stack,
@@ -45,6 +46,7 @@
         AXIS2_FREE(env->allocator, stack->data);
     AXIS2_FREE(env->allocator, stack);
 }
+
 void GUTHTHILA_CALL
 guththila_stack_un_init(
     guththila_stack_t * stack,
@@ -53,20 +55,19 @@
     if (stack->data)
         AXIS2_FREE(env->allocator, stack->data);
 }
+
 void *GUTHTHILA_CALL
 guththila_stack_pop(
     guththila_stack_t * stack,
     const axutil_env_t * env) 
 {
     if (stack->top > 0)
-    {
-        
-        
-        return stack->data[stack->top-- - 1];
-        
+    {                
+        return stack->data[stack->top-- - 1];        
     }
     return NULL;
 }
+
 int GUTHTHILA_CALL
 guththila_stack_push(
     guththila_stack_t * stack,
@@ -94,6 +95,7 @@
     stack->data[stack->top] = data;
     return stack->top++;
 }
+
 void *GUTHTHILA_CALL
 guththila_stack_peek(
     guththila_stack_t * stack,
@@ -108,6 +110,7 @@
         return NULL;
     }
 }
+
 int GUTHTHILA_CALL
 guththila_stack_del_top(
     guththila_stack_t * stack,
@@ -120,6 +123,7 @@
     }
     return GUTHTHILA_FAILURE;
 }
+
 int GUTHTHILA_CALL
 guththila_stack_is_empty(
     guththila_stack_t * stack,
@@ -127,6 +131,7 @@
 {
     return stack->top == 0 ? 1 : 0;
 }
+
 void *GUTHTHILA_CALL
 guththila_stack_get_by_index(
     guththila_stack_t * stack,

Modified: webservices/axis2/branches/c/post_1_4_mtom/c/guththila/src/guththila_token.c
URL: http://svn.apache.org/viewvc/webservices/axis2/branches/c/post_1_4_mtom/c/guththila/src/guththila_token.c?rev=666526&r1=666525&r2=666526&view=diff
==============================================================================
--- webservices/axis2/branches/c/post_1_4_mtom/c/guththila/src/guththila_token.c (original)
+++ webservices/axis2/branches/c/post_1_4_mtom/c/guththila/src/guththila_token.c Tue Jun 10 22:08:36 2008
@@ -71,6 +71,7 @@
     }
     return GUTHTHILA_FAILURE;
 }
+
 int GUTHTHILA_CALL
 guththila_tok_list_init(
     guththila_tok_list_t * tok_list,
@@ -106,6 +107,7 @@
     }
     return GUTHTHILA_FAILURE;
 }
+
 void GUTHTHILA_CALL
 guththila_tok_list_free(
     guththila_tok_list_t * tok_list,
@@ -121,6 +123,7 @@
     AXIS2_FREE(env->allocator,tok_list->capacity);
     AXIS2_FREE(env->allocator, tok_list);
 }
+
 void GUTHTHILA_CALL
 guththila_tok_list_free_data(
     guththila_tok_list_t * tok_list,
@@ -135,6 +138,7 @@
     AXIS2_FREE(env->allocator,tok_list->capacity);
     AXIS2_FREE(env->allocator, tok_list->list);
 }
+
 guththila_token_t *GUTHTHILA_CALL
 guththila_tok_list_get_token(guththila_tok_list_t * tok_list,
                                                 const axutil_env_t * env) 
@@ -145,6 +149,7 @@
     }
     return NULL;
 }
+
 int GUTHTHILA_CALL
 guththila_tok_list_release_token(
     guththila_tok_list_t * tok_list,
@@ -153,6 +158,7 @@
 {
     return guththila_stack_push(&tok_list->fr_stack, token, env);
 }
+
 int GUTHTHILA_CALL
 guththila_tok_str_cmp(
     guththila_token_t * tok,
@@ -172,6 +178,7 @@
     }
     return 0;
 }
+
 int GUTHTHILA_CALL
 guththila_tok_tok_cmp(
     guththila_token_t * tok1,
@@ -195,6 +202,7 @@
     }
     return -1;
 }
+
 void GUTHTHILA_CALL
 guththila_set_token(guththila_token_t* tok,
                        guththila_char_t* start,

Modified: webservices/axis2/branches/c/post_1_4_mtom/c/ides/vc/axis2c/axis2_engine/axis2_engine.vcproj
URL: http://svn.apache.org/viewvc/webservices/axis2/branches/c/post_1_4_mtom/c/ides/vc/axis2c/axis2_engine/axis2_engine.vcproj?rev=666526&r1=666525&r2=666526&view=diff
==============================================================================
--- webservices/axis2/branches/c/post_1_4_mtom/c/ides/vc/axis2c/axis2_engine/axis2_engine.vcproj (original)
+++ webservices/axis2/branches/c/post_1_4_mtom/c/ides/vc/axis2c/axis2_engine/axis2_engine.vcproj Tue Jun 10 22:08:36 2008
@@ -566,170 +566,6 @@
 			UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
 			>
 			<File
-				RelativePath="..\..\..\..\axiom\include\axiom.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\..\axiom\include\axiom_attribute.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\..\axiom\include\axiom_child_element_iterator.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\..\axiom\include\axiom_children_iterator.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\..\axiom\include\axiom_children_qname_iterator.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\..\axiom\include\axiom_children_with_specific_attribute_iterator.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\..\axiom\include\axiom_comment.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\..\axiom\include\axiom_data_handler.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\..\axiom\include\axiom_data_source.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\..\axiom\include\axiom_defines.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\..\axiom\include\axiom_doctype.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\..\axiom\include\axiom_document.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\..\axiom\include\axiom_element.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\..\axiom\include\axiom_mime_const.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\..\axiom\include\axiom_mime_parser.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\..\axiom\include\axiom_namespace.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\..\axiom\include\axiom_navigator.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\..\axiom\include\axiom_node.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\..\axiom\include\axiom_output.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\..\axiom\include\axiom_processing_instruction.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\..\axiom\include\axiom_soap.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\..\axiom\include\axiom_soap_body.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\..\axiom\include\axiom_soap_builder.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\..\axiom\include\axiom_soap_const.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\..\axiom\include\axiom_soap_envelope.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\..\axiom\include\axiom_soap_fault.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\..\axiom\include\axiom_soap_fault_code.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\..\axiom\include\axiom_soap_fault_detail.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\..\axiom\include\axiom_soap_fault_node.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\..\axiom\include\axiom_soap_fault_reason.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\..\axiom\include\axiom_soap_fault_role.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\..\axiom\include\axiom_soap_fault_sub_code.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\..\axiom\include\axiom_soap_fault_text.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\..\axiom\include\axiom_soap_fault_value.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\..\axiom\include\axiom_soap_header.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\..\axiom\include\axiom_soap_header_block.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\..\axiom\include\axiom_stax_builder.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\..\axiom\include\axiom_text.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\..\axiom\include\axiom_util.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\..\axiom\include\axiom_xml_reader.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\..\axiom\include\axiom_xml_writer.h"
-				>
-			</File>
-			<File
 				RelativePath="..\..\..\..\include\axis2_addr.h"
 				>
 			</File>
@@ -786,6 +622,10 @@
 				>
 			</File>
 			<File
+				RelativePath="..\..\..\..\include\axis2_core_dll_desc.h"
+				>
+			</File>
+			<File
 				RelativePath="..\..\..\..\include\axis2_core_utils.h"
 				>
 			</File>
@@ -850,6 +690,10 @@
 				>
 			</File>
 			<File
+				RelativePath="..\..\..\..\include\axis2_http_accept_record.h"
+				>
+			</File>
+			<File
 				RelativePath="..\..\..\..\include\axis2_http_chunked_stream.h"
 				>
 			</File>
@@ -962,6 +806,10 @@
 				>
 			</File>
 			<File
+				RelativePath="..\..\..\..\include\axis2_out_transport_info.h"
+				>
+			</File>
+			<File
 				RelativePath="..\..\..\..\include\axis2_phase.h"
 				>
 			</File>

Modified: webservices/axis2/branches/c/post_1_4_mtom/c/include/axis2_callback_recv.h
URL: http://svn.apache.org/viewvc/webservices/axis2/branches/c/post_1_4_mtom/c/include/axis2_callback_recv.h?rev=666526&r1=666525&r2=666526&view=diff
==============================================================================
--- webservices/axis2/branches/c/post_1_4_mtom/c/include/axis2_callback_recv.h (original)
+++ webservices/axis2/branches/c/post_1_4_mtom/c/include/axis2_callback_recv.h Tue Jun 10 22:08:36 2008
@@ -20,7 +20,11 @@
 #define AXIS2_CALLBACK_RECV_H
 
 /**
- * @defgroup axis2_callback_recv callback message receiver
+ * @defgroup axis2_callback_recv callback message receiver. This can be considered as a
+ * message receiver implementation for application client side which is similar to 
+ * server side message receivers like raw_xml_in_out_msg_recv. Messages received by
+ * listener manager will finally end up here.
+ *
  * @ingroup axis2_client_api
  * callback message receiver, that is used as the message receiver in the
  * operation in case of asynchronous invocation for receiving the result.

Modified: webservices/axis2/branches/c/post_1_4_mtom/c/include/axis2_const.h
URL: http://svn.apache.org/viewvc/webservices/axis2/branches/c/post_1_4_mtom/c/include/axis2_const.h?rev=666526&r1=666525&r2=666526&view=diff
==============================================================================
--- webservices/axis2/branches/c/post_1_4_mtom/c/include/axis2_const.h (original)
+++ webservices/axis2/branches/c/post_1_4_mtom/c/include/axis2_const.h Tue Jun 10 22:08:36 2008
@@ -117,6 +117,7 @@
 #define AXIS2_TRANSPORT_TCP "tcp"
 #define AXIS2_TRANSPORT_XMPP "xmpp"
 #define AXIS2_TRANSPORT_HTTPS "https"
+#define AXIS2_TRANSPORT_AMQP "amqp"
     typedef enum
     {
         AXIS2_TRANSPORT_ENUM_HTTP = 0,
@@ -124,6 +125,7 @@
         AXIS2_TRANSPORT_ENUM_TCP,
         AXIS2_TRANSPORT_ENUM_XMPP,
         AXIS2_TRANSPORT_ENUM_HTTPS,
+        AXIS2_TRANSPORT_ENUM_AMQP,
         AXIS2_TRANSPORT_ENUM_MAX
     } AXIS2_TRANSPORT_ENUMS;
 

Modified: webservices/axis2/branches/c/post_1_4_mtom/c/include/axis2_core_utils.h
URL: http://svn.apache.org/viewvc/webservices/axis2/branches/c/post_1_4_mtom/c/include/axis2_core_utils.h?rev=666526&r1=666525&r2=666526&view=diff
==============================================================================
--- webservices/axis2/branches/c/post_1_4_mtom/c/include/axis2_core_utils.h (original)
+++ webservices/axis2/branches/c/post_1_4_mtom/c/include/axis2_core_utils.h Tue Jun 10 22:08:36 2008
@@ -24,6 +24,7 @@
 #include <axutil_error.h>
 #include <axutil_env.h>
 #include <axis2_msg_ctx.h>
+#include <axis2_op.h>
 #include <axutil_qname.h>
 #include <axis2_core_dll_desc.h>
 
@@ -81,6 +82,15 @@
         axis2_char_t * module_ver,
         axis2_char_t * current_def_ver);
 
+	AXIS2_EXTERN axis2_op_t *AXIS2_CALL
+	axis2_core_utils_get_rest_op_with_method_and_location(
+		const axis2_svc_t * svc,
+		const axutil_env_t * env,
+		const axis2_char_t * method,
+		const axis2_char_t * location,
+		int * param_count,
+		axis2_char_t **** params);
+
     /** @} */
 
 #ifdef __cplusplus

Modified: webservices/axis2/branches/c/post_1_4_mtom/c/include/axis2_http_out_transport_info.h
URL: http://svn.apache.org/viewvc/webservices/axis2/branches/c/post_1_4_mtom/c/include/axis2_http_out_transport_info.h?rev=666526&r1=666525&r2=666526&view=diff
==============================================================================
--- webservices/axis2/branches/c/post_1_4_mtom/c/include/axis2_http_out_transport_info.h (original)
+++ webservices/axis2/branches/c/post_1_4_mtom/c/include/axis2_http_out_transport_info.h Tue Jun 10 22:08:36 2008
@@ -164,7 +164,7 @@
 #define AXIS2_HTTP_OUT_TRANSPORT_INFO_SET_CONTENT_TYPE(out_transport_info, \
                env, content_type) axis2_http_out_transport_info_set_content_type (out_transport_info, env, content_type)
 
-    /** Set cahr encoding. */
+    /** Set char encoding. */
 #define AXIS2_HTTP_OUT_TRANSPORT_INFO_SET_CHAR_ENCODING(out_transport_info,\
                env, encoding) axis2_http_out_transport_info_set_char_encoding(out_transport_info, env, encoding)
 

Modified: webservices/axis2/branches/c/post_1_4_mtom/c/include/axis2_op_ctx.h
URL: http://svn.apache.org/viewvc/webservices/axis2/branches/c/post_1_4_mtom/c/include/axis2_op_ctx.h?rev=666526&r1=666525&r2=666526&view=diff
==============================================================================
--- webservices/axis2/branches/c/post_1_4_mtom/c/include/axis2_op_ctx.h (original)
+++ webservices/axis2/branches/c/post_1_4_mtom/c/include/axis2_op_ctx.h Tue Jun 10 22:08:36 2008
@@ -144,7 +144,9 @@
      * Gets message context with the given message ID.
      * @param op_ctx pointer to operation context
      * @param env pointer to environment struct
-     * @param message_id message ID string
+     * @param message_id message label of type axis2_wsdl_msg_labels_t. 
+	 * This can be one of AXIS2_WSDL_MESSAGE_LABEL_IN or AXIS2_WSDL_MESSAGE_LABEL_OUT 
+	 * from the axis2_wsdl_msg_labels enum.
      * @return pointer to message context with given ID
      */
     AXIS2_EXTERN axis2_msg_ctx_t *AXIS2_CALL

Modified: webservices/axis2/branches/c/post_1_4_mtom/c/include/axis2_phase_resolver.h
URL: http://svn.apache.org/viewvc/webservices/axis2/branches/c/post_1_4_mtom/c/include/axis2_phase_resolver.h?rev=666526&r1=666525&r2=666526&view=diff
==============================================================================
--- webservices/axis2/branches/c/post_1_4_mtom/c/include/axis2_phase_resolver.h (original)
+++ webservices/axis2/branches/c/post_1_4_mtom/c/include/axis2_phase_resolver.h Tue Jun 10 22:08:36 2008
@@ -143,27 +143,6 @@
         struct axis2_module_desc *module);
 
     /**
-     * Engages the given global module to the given service. This means 
-     * the given module would be engaged to all operations of the given 
-     * service. This function should not be used to engage a module to
-     * a service. Use axis2_phase_resolver_engage_module_to_svc() instead.
-     * In future this function will be moved as a local function into
-     * phase resolver.
-     * @param phase_resolver pointer to phase resolver
-     * @param env pointer to environment struct
-     * @param svc pointer to service
-     * @param module_desc pointer to module description
-     * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
-     */
-    AXIS2_EXTERN axis2_status_t AXIS2_CALL
-
-    axis2_phase_resolver_engage_module_to_svc_from_global(
-        axis2_phase_resolver_t * phase_resolver,
-        const axutil_env_t * env,
-        struct axis2_svc *svc,
-        struct axis2_module_desc *module_desc);
-
-    /**
      * Engages the given module to the given service. This means 
      * the given module would be engaged to all operations of the given 
      * service. 

Modified: webservices/axis2/branches/c/post_1_4_mtom/c/include/axis2_svc_client.h
URL: http://svn.apache.org/viewvc/webservices/axis2/branches/c/post_1_4_mtom/c/include/axis2_svc_client.h?rev=666526&r1=666525&r2=666526&view=diff
==============================================================================
--- webservices/axis2/branches/c/post_1_4_mtom/c/include/axis2_svc_client.h (original)
+++ webservices/axis2/branches/c/post_1_4_mtom/c/include/axis2_svc_client.h Tue Jun 10 22:08:36 2008
@@ -479,7 +479,7 @@
     /**
      * Gets the operation client
      * @param svc_client pointer to service_client struct
-     * @param env env pointer to environemt struct
+     * @param env env pointer to environment struct
      * @return pointer to service context struct. service client owns 
      * the returned pointer
      */
@@ -525,7 +525,7 @@
      * @param env pointer to environment struct
      * @param conf_ctx pointer to configuration context. Newly created client 
      * assumes ownership of the conf_ctx
-     * @param wsdl_uri pointer to uri of the wsdl file.
+     * @param wsdl_uri pointer to Uri of the wsdl file.
      * @param wsdl_svc_qname pointer to qname of the wsdl service. If this is NULL
      * first service is assumed
      * @param endpoint_name pointer to endpoint name. If this is NULL first endpoint
@@ -544,9 +544,9 @@
         const axis2_char_t * client_home);
 
     /**
-     * Gets the last respose SOAP envelope. 
+     * Gets the last response SOAP envelope. 
      * @param svc_client pointer to service_client struct
-     * @param env env pointer to environemt struct
+     * @param env env pointer to environment struct
      * @return pointer to SOAP envelope that was returned as a result 
      * when send_receieve was called last time
      */
@@ -556,9 +556,9 @@
         const axutil_env_t * env);
 
     /**
-     * Gets the boolean value indicating if the last respose had a SOAP fault. 
+     * Gets the boolean value indicating if the last response had a SOAP fault. 
      * @param svc_client pointer to service_client struct
-     * @param env env pointer to environemt struct
+     * @param env env pointer to environment struct
      * @return AXIS2_TRUE if there was a fault, else AXIS2_FALSE
      */
     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
@@ -569,8 +569,8 @@
     /**
      * Gets the authentication type required.
      * @param svc_client pointer to service_client struct
-     * @param env env pointer to environemt struct
-     * @return AXIS2_TRUE if the operation succeded, else AXIS2_FALSE
+     * @param env env pointer to environment struct
+     * @return AXIS2_TRUE if the operation succeeded, else AXIS2_FALSE
      */
     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
     axis2_svc_client_get_auth_type(
@@ -581,7 +581,7 @@
      * Gets the boolean value indicating whether HTTP Authentication
      * is required.
      * @param svc_client pointer to service_client struct
-     * @param env env pointer to environemt struct
+     * @param env env pointer to environment struct
      * @return AXIS2_TRUE if Authentication is required, else AXIS2_FALSE
      */
     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
@@ -593,7 +593,7 @@
      * Gets the boolean value indicating whether Proxy Authentication
      * is required.
      * @param svc_client pointer to service_client struct
-     * @param env env pointer to environemt struct
+     * @param env env pointer to environment struct
      * @return AXIS2_TRUE if Authentication is required, else AXIS2_FALSE
      */
     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
@@ -604,7 +604,7 @@
     /**
      * Create a policy object and set it to the description hierarchy
      * @param svc_client pointer to service_client struct
-     * @param env pointer to environemt struct
+     * @param env pointer to environment struct
      * @param root_node pointer to a policy node    
      * @return AXIS2_FAILURE if there was a fault, else AXIS2_SUCCESS
      */
@@ -617,7 +617,7 @@
     /**
      * Set the given policy object to the description hierarchy
      * @param svc_client pointer to service_client struct
-     * @param env pointer to environemt struct
+     * @param env pointer to environment struct
      * @param policy neethi_policy_t to a policy struct
      * @return AXIS2_FAILURE if there was a fault, else AXIS2_SUCCESS
      */
@@ -630,7 +630,7 @@
     /**
      * Gets the HTTP Headers of the last response.
      * @param svc_client pointer to service_client struct
-     * @param env pointer to environemt struct
+     * @param env pointer to environment struct
      * @return list of HTTP Response Headers
      */
     AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL
@@ -641,7 +641,7 @@
     /**
      * Gets the HTTP Status Code of the last response.
      * @param svc_client pointer to service_client struct
-     * @param env pointer to environemt struct
+     * @param env pointer to environment struct
      * @return HTTP Status Code
      */
     AXIS2_EXTERN int AXIS2_CALL

Modified: webservices/axis2/branches/c/post_1_4_mtom/c/neethi/include/rp_defines.h
URL: http://svn.apache.org/viewvc/webservices/axis2/branches/c/post_1_4_mtom/c/neethi/include/rp_defines.h?rev=666526&r1=666525&r2=666526&view=diff
==============================================================================
--- webservices/axis2/branches/c/post_1_4_mtom/c/neethi/include/rp_defines.h (original)
+++ webservices/axis2/branches/c/post_1_4_mtom/c/neethi/include/rp_defines.h Tue Jun 10 22:08:36 2008
@@ -158,7 +158,7 @@
 
 #define RP_REQUEST_SEC_TOKEN_TEMPLATE "RequestSecurityTokenTemplate"
     
-#define RP_REQUIRE_KEY_IDENTIFIRE_REFERENCE "RequireKeyIdentifireReference"
+#define RP_REQUIRE_KEY_IDENTIFIRE_REFERENCE "RequireKeyIdentifierReference"
 #define RP_REQUIRE_ISSUER_SERIAL_REFERENCE "RequireIssuerSerialReference"
 #define RP_REQUIRE_EMBEDDED_TOKEN_REFERENCE "RequireEmbeddedTokenReference"
 #define RP_REQUIRE_THUMBPRINT_REFERENCE "RequireThumbprintReference"

Modified: webservices/axis2/branches/c/post_1_4_mtom/c/samples/client/Makefile.am
URL: http://svn.apache.org/viewvc/webservices/axis2/branches/c/post_1_4_mtom/c/samples/client/Makefile.am?rev=666526&r1=666525&r2=666526&view=diff
==============================================================================
--- webservices/axis2/branches/c/post_1_4_mtom/c/samples/client/Makefile.am (original)
+++ webservices/axis2/branches/c/post_1_4_mtom/c/samples/client/Makefile.am Tue Jun 10 22:08:36 2008
@@ -1,2 +1,2 @@
-SUBDIRS = echo math google notify mtom yahoo
+SUBDIRS = echo math google notify mtom yahoo amqp
 EXTRA_DIST= Makefile.am

Modified: webservices/axis2/branches/c/post_1_4_mtom/c/samples/client/echo/Makefile.am
URL: http://svn.apache.org/viewvc/webservices/axis2/branches/c/post_1_4_mtom/c/samples/client/echo/Makefile.am?rev=666526&r1=666525&r2=666526&view=diff
==============================================================================
--- webservices/axis2/branches/c/post_1_4_mtom/c/samples/client/echo/Makefile.am (original)
+++ webservices/axis2/branches/c/post_1_4_mtom/c/samples/client/echo/Makefile.am Tue Jun 10 22:08:36 2008
@@ -11,8 +11,7 @@
                     -lpthread \
                     -laxis2_http_sender \
                     -laxis2_http_receiver \
-                    $(GUTHTHILA_LIBS) \
-                    $(LIBXML2_LIBS)
+                    $(GUTHTHILA_LIBS)
 
 INCLUDES = @AXIS2INC@
 

Modified: webservices/axis2/branches/c/post_1_4_mtom/c/samples/client/google/Makefile.am
URL: http://svn.apache.org/viewvc/webservices/axis2/branches/c/post_1_4_mtom/c/samples/client/google/Makefile.am?rev=666526&r1=666525&r2=666526&view=diff
==============================================================================
--- webservices/axis2/branches/c/post_1_4_mtom/c/samples/client/google/Makefile.am (original)
+++ webservices/axis2/branches/c/post_1_4_mtom/c/samples/client/google/Makefile.am Tue Jun 10 22:08:36 2008
@@ -10,8 +10,7 @@
                     -laxis2_parser \
                     -laxis2_http_sender \
                     -laxis2_http_receiver \
-                    $(GUTHTHILA_LIBS) \
-                    $(LIBXML2_LIBS)
+                    $(GUTHTHILA_LIBS)
 
 INCLUDES = @AXIS2INC@
 

Modified: webservices/axis2/branches/c/post_1_4_mtom/c/samples/client/math/Makefile.am
URL: http://svn.apache.org/viewvc/webservices/axis2/branches/c/post_1_4_mtom/c/samples/client/math/Makefile.am?rev=666526&r1=666525&r2=666526&view=diff
==============================================================================
--- webservices/axis2/branches/c/post_1_4_mtom/c/samples/client/math/Makefile.am (original)
+++ webservices/axis2/branches/c/post_1_4_mtom/c/samples/client/math/Makefile.am Tue Jun 10 22:08:36 2008
@@ -13,8 +13,7 @@
                     -lpthread \
                     -laxis2_http_sender \
                     -laxis2_http_receiver \
-                    $(GUTHTHILA_LIBS) \
-                    $(LIBXML2_LIBS)
+                    $(GUTHTHILA_LIBS)
 
 INCLUDES = @AXIS2INC@
 

Modified: webservices/axis2/branches/c/post_1_4_mtom/c/samples/client/mtom/Makefile.am
URL: http://svn.apache.org/viewvc/webservices/axis2/branches/c/post_1_4_mtom/c/samples/client/mtom/Makefile.am?rev=666526&r1=666525&r2=666526&view=diff
==============================================================================
--- webservices/axis2/branches/c/post_1_4_mtom/c/samples/client/mtom/Makefile.am (original)
+++ webservices/axis2/branches/c/post_1_4_mtom/c/samples/client/mtom/Makefile.am Tue Jun 10 22:08:36 2008
@@ -13,8 +13,7 @@
                     -lpthread \
                     -laxis2_http_sender \
                     -laxis2_http_receiver \
-                    $(GUTHTHILA_LIBS) \
-                    $(LIBXML2_LIBS)
+                    $(GUTHTHILA_LIBS)
 
 INCLUDES = @AXIS2INC@
 

Modified: webservices/axis2/branches/c/post_1_4_mtom/c/samples/client/notify/Makefile.am
URL: http://svn.apache.org/viewvc/webservices/axis2/branches/c/post_1_4_mtom/c/samples/client/notify/Makefile.am?rev=666526&r1=666525&r2=666526&view=diff
==============================================================================
--- webservices/axis2/branches/c/post_1_4_mtom/c/samples/client/notify/Makefile.am (original)
+++ webservices/axis2/branches/c/post_1_4_mtom/c/samples/client/notify/Makefile.am Tue Jun 10 22:08:36 2008
@@ -11,8 +11,7 @@
                     -lpthread \
                     -laxis2_http_sender \
                     -laxis2_http_receiver \
-                    $(GUTHTHILA_LIBS) \
-                    $(LIBXML2_LIBS)
+                    $(GUTHTHILA_LIBS)
 
 INCLUDES = @AXIS2INC@
 

Modified: webservices/axis2/branches/c/post_1_4_mtom/c/samples/client/yahoo/Makefile.am
URL: http://svn.apache.org/viewvc/webservices/axis2/branches/c/post_1_4_mtom/c/samples/client/yahoo/Makefile.am?rev=666526&r1=666525&r2=666526&view=diff
==============================================================================
--- webservices/axis2/branches/c/post_1_4_mtom/c/samples/client/yahoo/Makefile.am (original)
+++ webservices/axis2/branches/c/post_1_4_mtom/c/samples/client/yahoo/Makefile.am Tue Jun 10 22:08:36 2008
@@ -10,8 +10,7 @@
                     -laxis2_parser \
                     -laxis2_http_sender \
                     -laxis2_http_receiver \
-                    $(GUTHTHILA_LIBS) \
-                    $(LIBXML2_LIBS)
+                    $(GUTHTHILA_LIBS)
 
 INCLUDES = @AXIS2INC@
 

Modified: webservices/axis2/branches/c/post_1_4_mtom/c/samples/codegen/client/calc_xml_inout/Makefile.am
URL: http://svn.apache.org/viewvc/webservices/axis2/branches/c/post_1_4_mtom/c/samples/codegen/client/calc_xml_inout/Makefile.am?rev=666526&r1=666525&r2=666526&view=diff
==============================================================================
--- webservices/axis2/branches/c/post_1_4_mtom/c/samples/codegen/client/calc_xml_inout/Makefile.am (original)
+++ webservices/axis2/branches/c/post_1_4_mtom/c/samples/codegen/client/calc_xml_inout/Makefile.am Tue Jun 10 22:08:36 2008
@@ -17,8 +17,7 @@
                     -lpthread \
                     -laxis2_http_sender \
                     -laxis2_http_receiver \
-                    $(GUTHTHILA_LIBS) \
-                    $(LIBXML2_LIBS)
+                    $(GUTHTHILA_LIBS)
 
 INCLUDES = -I$(AXIS2C_HOME)/include \
 			@UTILINC@ \

Modified: webservices/axis2/branches/c/post_1_4_mtom/c/samples/codegen/client/calculator/Makefile.am
URL: http://svn.apache.org/viewvc/webservices/axis2/branches/c/post_1_4_mtom/c/samples/codegen/client/calculator/Makefile.am?rev=666526&r1=666525&r2=666526&view=diff
==============================================================================
--- webservices/axis2/branches/c/post_1_4_mtom/c/samples/codegen/client/calculator/Makefile.am (original)
+++ webservices/axis2/branches/c/post_1_4_mtom/c/samples/codegen/client/calculator/Makefile.am Tue Jun 10 22:08:36 2008
@@ -19,8 +19,7 @@
                     -lpthread \
                     -laxis2_http_sender \
                     -laxis2_http_receiver \
-                    $(GUTHTHILA_LIBS) \
-                    $(LIBXML2_LIBS)
+                    $(GUTHTHILA_LIBS)
 
 INCLUDES = -I$(AXIS2C_HOME)/include \
 			@UTILINC@ \

Modified: webservices/axis2/branches/c/post_1_4_mtom/c/samples/codegen/client/interop_doc1/Makefile.am
URL: http://svn.apache.org/viewvc/webservices/axis2/branches/c/post_1_4_mtom/c/samples/codegen/client/interop_doc1/Makefile.am?rev=666526&r1=666525&r2=666526&view=diff
==============================================================================
--- webservices/axis2/branches/c/post_1_4_mtom/c/samples/codegen/client/interop_doc1/Makefile.am (original)
+++ webservices/axis2/branches/c/post_1_4_mtom/c/samples/codegen/client/interop_doc1/Makefile.am Tue Jun 10 22:08:36 2008
@@ -24,8 +24,7 @@
                     -lpthread \
                     -laxis2_http_sender \
                     -laxis2_http_receiver \
-                    $(GUTHTHILA_LIBS) \
-                    $(LIBXML2_LIBS)
+                    $(GUTHTHILA_LIBS)
 
 test_echo_struct_array_SOURCES = \
 axis2_echoBase64.c              axis2_echoFloat.c                 axis2_echoString.c \
@@ -50,9 +49,7 @@
                     -lpthread \
                     -laxis2_http_sender \
                     -laxis2_http_receiver \
-                    $(GUTHTHILA_LIBS) \
-                    $(LIBXML2_LIBS)
-
+                    $(GUTHTHILA_LIBS)
 
 INCLUDES = -I$(AXIS2C_HOME)/include \
             @UTILINC@ \

Modified: webservices/axis2/branches/c/post_1_4_mtom/c/samples/codegen/client/interop_doc2/Makefile.am
URL: http://svn.apache.org/viewvc/webservices/axis2/branches/c/post_1_4_mtom/c/samples/codegen/client/interop_doc2/Makefile.am?rev=666526&r1=666525&r2=666526&view=diff
==============================================================================
--- webservices/axis2/branches/c/post_1_4_mtom/c/samples/codegen/client/interop_doc2/Makefile.am (original)
+++ webservices/axis2/branches/c/post_1_4_mtom/c/samples/codegen/client/interop_doc2/Makefile.am Tue Jun 10 22:08:36 2008
@@ -11,7 +11,7 @@
            $(LDFLAGS) -L$(AXIS2C_HOME)/lib -laxutil -laxis2_axiom \
             -laxis2_wsdl -laxis2_engine -laxis2_parser -lpthread -laxis2_http_sender \
             -laxis2_http_receiver \
-           $(GUTHTHILA_LIBS) $(LIBXML2_LIBS)
+           $(GUTHTHILA_LIBS)
 
 test_echo_struct_SOURCES = \
   axis2_ArrayOfstring_literal.c axis2_echoStringArray.c \
@@ -23,7 +23,7 @@
            $(LDFLAGS) -L$(AXIS2C_HOME)/lib -laxutil -laxis2_axiom \
             -laxis2_wsdl -laxis2_engine -laxis2_parser -lpthread -laxis2_http_sender \
             -laxis2_http_receiver \
-           $(GUTHTHILA_LIBS) $(LIBXML2_LIBS)
+           $(GUTHTHILA_LIBS)
 
 test_echo_string_array_SOURCES = \
   axis2_ArrayOfstring_literal.c axis2_echoStringArray.c \
@@ -35,7 +35,7 @@
            $(LDFLAGS) -L$(AXIS2C_HOME)/lib -laxutil -laxis2_axiom \
             -laxis2_wsdl -laxis2_engine -laxis2_parser -lpthread -laxis2_http_sender \
             -laxis2_http_receiver \
-           $(GUTHTHILA_LIBS) $(LIBXML2_LIBS)
+           $(GUTHTHILA_LIBS)
 
 INCLUDES = -I$(AXIS2C_HOME)/include \
                @UTILINC@ \

Modified: webservices/axis2/branches/c/post_1_4_mtom/c/samples/configure.ac
URL: http://svn.apache.org/viewvc/webservices/axis2/branches/c/post_1_4_mtom/c/samples/configure.ac?rev=666526&r1=666525&r2=666526&view=diff
==============================================================================
--- webservices/axis2/branches/c/post_1_4_mtom/c/samples/configure.ac (original)
+++ webservices/axis2/branches/c/post_1_4_mtom/c/samples/configure.ac Tue Jun 10 22:08:36 2008
@@ -61,7 +61,7 @@
 dnl AC_FUNC_MALLOC
 dnl AC_FUNC_REALLOC
 
-CFLAGS="$CFLAGS $LIBXML2_CFLAGS $GUTHTHILA_CFLAGS"
+CFLAGS="$CFLAGS $GUTHTHILA_CFLAGS"
 
 AC_MSG_CHECKING(whether to build dynamic invocation client)
 AC_ARG_ENABLE(diclient, [  --enable-diclient    build diclient. default=no],
@@ -113,9 +113,6 @@
 AC_SUBST(APACHE2INC)
 AC_SUBST(APRINC)
 AC_SUBST(AXIS2INC)
-AC_SUBST(LIBXML2_CFLAGS)
-AC_SUBST(LIBXML2_LIBS)
-AC_SUBST(LIBXML2_DIR)
 AC_SUBST(GUTHTHILA_DIR)
 AC_SUBST(GUTHTHILA_LIBS)
 AC_SUBST(DICLIENT_DIR)
@@ -136,6 +133,8 @@
     client/notify/Makefile \
     client/google/Makefile \
     client/yahoo/Makefile \
+    client/amqp/Makefile \
+    client/amqp/echo/Makefile \
     user_guide/Makefile \
     user_guide/clients/Makefile \
     mtom_caching_callback/Makefile

Modified: webservices/axis2/branches/c/post_1_4_mtom/c/samples/server/notify/notify.c
URL: http://svn.apache.org/viewvc/webservices/axis2/branches/c/post_1_4_mtom/c/samples/server/notify/notify.c?rev=666526&r1=666525&r2=666526&view=diff
==============================================================================
--- webservices/axis2/branches/c/post_1_4_mtom/c/samples/server/notify/notify.c (original)
+++ webservices/axis2/branches/c/post_1_4_mtom/c/samples/server/notify/notify.c Tue Jun 10 22:08:36 2008
@@ -26,7 +26,9 @@
     axiom_node_t *text_node = NULL;
 
     if (!env || !env)
+    {
         return;
+    }
 
     /* Expected request format is :-
        <m:notify xmlns:m="http://example.org/notify">Message 3</m:notify>
@@ -35,7 +37,7 @@
     {
         AXIS2_ERROR_SET(env->error, AXIS2_ERROR_SVC_SKEL_INPUT_OM_NODE_NULL,
                         AXIS2_FAILURE);
-        printf("Echo client ERROR: input parameter NULL\n");
+        AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Echo client ERROR: input parameter NULL");
         return;
     }
 
@@ -45,7 +47,7 @@
         AXIS2_ERROR_SET(env->error,
                         AXIS2_ERROR_SVC_SKEL_INVALID_XML_FORMAT_IN_REQUEST,
                         AXIS2_FAILURE);
-        printf("Echo client ERROR: invalid XML in request\n");
+        AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Echo client ERROR: invalid XML in request");
         return;
     }
 
@@ -57,7 +59,7 @@
         {
             axis2_char_t *text_str =
                 (axis2_char_t *) axiom_text_get_value(text, env);
-            printf("Notification received :  %s \n", text_str);
+            AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Notification received :  %s", text_str);
         }
     }
     else
@@ -65,9 +67,11 @@
         AXIS2_ERROR_SET(env->error,
                         AXIS2_ERROR_SVC_SKEL_INVALID_XML_FORMAT_IN_REQUEST,
                         AXIS2_FAILURE);
-        printf("Echo client ERROR: invalid XML in request\n");
+        printf("\n");
+        AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Echo client ERROR: invalid XML in request");
         return;
     }
 
     return;
 }
+

Modified: webservices/axis2/branches/c/post_1_4_mtom/c/samples/server/notify/notify_skeleton.c
URL: http://svn.apache.org/viewvc/webservices/axis2/branches/c/post_1_4_mtom/c/samples/server/notify/notify_skeleton.c?rev=666526&r1=666525&r2=666526&view=diff
==============================================================================
--- webservices/axis2/branches/c/post_1_4_mtom/c/samples/server/notify/notify_skeleton.c (original)
+++ webservices/axis2/branches/c/post_1_4_mtom/c/samples/server/notify/notify_skeleton.c Tue Jun 10 22:08:36 2008
@@ -107,9 +107,9 @@
     axiom_node_t *error_node = NULL;
     axiom_node_t *text_node = NULL;
     axiom_element_t *error_ele = NULL;
-    error_ele = axiom_element_create(env, node, "EchoServiceError", NULL,
+    error_ele = axiom_element_create(env, node, "NotifyServiceError", NULL,
                                      &error_node);
-    axiom_element_set_text(error_ele, env, "Echo service failed ", text_node);
+    axiom_element_set_text(error_ele, env, "Notify service failed ", text_node);
     return error_node;
 }
 

Modified: webservices/axis2/branches/c/post_1_4_mtom/c/samples/user_guide/clients/Makefile.am
URL: http://svn.apache.org/viewvc/webservices/axis2/branches/c/post_1_4_mtom/c/samples/user_guide/clients/Makefile.am?rev=666526&r1=666525&r2=666526&view=diff
==============================================================================
--- webservices/axis2/branches/c/post_1_4_mtom/c/samples/user_guide/clients/Makefile.am (original)
+++ webservices/axis2/branches/c/post_1_4_mtom/c/samples/user_guide/clients/Makefile.am Tue Jun 10 22:08:36 2008
@@ -20,8 +20,7 @@
              -lpthread \
              -laxis2_http_sender \
              -laxis2_http_receiver \
-             $(GUTHTHILA_LIBS) \
-             $(LIBXML2_LIBS)
+             $(GUTHTHILA_LIBS)
 
 echo_blocking_LDADD = $(LINK_FLAGS)
 echo_non_blocking_LDADD = $(LINK_FLAGS)

Modified: webservices/axis2/branches/c/post_1_4_mtom/c/samples/user_guide/clients/echo_non_blocking.c
URL: http://svn.apache.org/viewvc/webservices/axis2/branches/c/post_1_4_mtom/c/samples/user_guide/clients/echo_non_blocking.c?rev=666526&r1=666525&r2=666526&view=diff
==============================================================================
--- webservices/axis2/branches/c/post_1_4_mtom/c/samples/user_guide/clients/echo_non_blocking.c (original)
+++ webservices/axis2/branches/c/post_1_4_mtom/c/samples/user_guide/clients/echo_non_blocking.c Tue Jun 10 22:08:36 2008
@@ -22,7 +22,7 @@
 #include <axis2_client.h>
 
 /* my on_complete callback function */
-axis2_status_t AXIS2_CALL echo_callback_on_complete(
+axis2_status_t AXIS2_CALL echo_process_response_envelope(
     struct axis2_callback * callback,
     const axutil_env_t * env);
 
@@ -33,7 +33,6 @@
     int exception);
 
 /* to check whether the callback is completed */
-int isComplete = 0;
 
 int
 main(
@@ -107,7 +106,7 @@
     callback = axis2_callback_create(env);
 
     /* Set our on_complete fucntion pointer to the callback object */
-    axis2_callback_set_on_complete(callback, echo_callback_on_complete);
+    /*axis2_callback_set_on_complete(callback, echo_callback_on_complete);*/
 
     /* Set our on_error function pointer to the callback object */
     axis2_callback_set_on_error(callback, echo_callback_on_error);
@@ -118,27 +117,21 @@
 
     /** Wait till callback is complete. Simply keep the parent thread running
        until our on_complete or on_error is invoked */
-    while (count < 30)
+    
+    while(!axis2_callback_get_complete(callback, env))
     {
-        if (isComplete)
+        AXIS2_SLEEP(1);
+        if(count < 30)
         {
-            /* We are done with the callback */
-            break;
+            count++;
         }
-        AXIS2_SLEEP(1);
-        count++;
-    }
-
-    if (!(count < 30))
-    {
-        printf("\necho client invoke FAILED. Counter timed out.\n");
-    }
-
-    if (svc_client)
-    {
-        axis2_svc_client_free(svc_client, env);
-        svc_client = NULL;
+        else
+        {
+            printf("\necho client invoke FAILED. Counter timed out.\n");
+        }
+        
     }
+    echo_process_response_envelope(callback, env);
 
     if (env)
     {
@@ -150,7 +143,7 @@
 }
 
 axis2_status_t AXIS2_CALL
-echo_callback_on_complete(
+echo_process_response_envelope(
     struct axis2_callback * callback,
     const axutil_env_t * env)
 {
@@ -198,7 +191,7 @@
             printf("\necho client invoke SUCCESSFUL!\n");
         }
     }
-    isComplete = 1;
+
     return status;
 }
 
@@ -212,6 +205,6 @@
     /** take necessary action on error */
     printf("\necho client invike FAILED. Error code:%d ::%s", exception,
            AXIS2_ERROR_GET_MESSAGE(env->error));
-    isComplete = 1;
+    
     return AXIS2_SUCCESS;
 }

Modified: webservices/axis2/branches/c/post_1_4_mtom/c/src/core/clientapi/callback_recv.c
URL: http://svn.apache.org/viewvc/webservices/axis2/branches/c/post_1_4_mtom/c/src/core/clientapi/callback_recv.c?rev=666526&r1=666525&r2=666526&view=diff
==============================================================================
--- webservices/axis2/branches/c/post_1_4_mtom/c/src/core/clientapi/callback_recv.c (original)
+++ webservices/axis2/branches/c/post_1_4_mtom/c/src/core/clientapi/callback_recv.c Tue Jun 10 22:08:36 2008
@@ -144,6 +144,12 @@
     return AXIS2_SUCCESS;
 }
 
+/* In the dual channel invocations client set a callback function to be invoked when a resonse
+ * is received from the server. When the response is received by the listening port of the
+ * listener manager, in the engine receive call the message is finally hit by callback receiver
+ * which is an implementation of the axis2 message receiver. This is the function that is called
+ * at that stage. The client set callback function is called from within here.
+ */
 static axis2_status_t AXIS2_CALL
 axis2_callback_recv_receive(
     axis2_msg_recv_t * msg_recv,
@@ -190,3 +196,4 @@
 
     return AXIS2_FAILURE;
 }
+

Modified: webservices/axis2/branches/c/post_1_4_mtom/c/src/core/clientapi/listener_manager.c
URL: http://svn.apache.org/viewvc/webservices/axis2/branches/c/post_1_4_mtom/c/src/core/clientapi/listener_manager.c?rev=666526&r1=666525&r2=666526&view=diff
==============================================================================
--- webservices/axis2/branches/c/post_1_4_mtom/c/src/core/clientapi/listener_manager.c (original)
+++ webservices/axis2/branches/c/post_1_4_mtom/c/src/core/clientapi/listener_manager.c Tue Jun 10 22:08:36 2008
@@ -283,6 +283,9 @@
         return NULL;
 
     th_env = axutil_init_thread_env(args_list->env);
+    /* Start the protocol server. For examlle if protocol is http axis2_http_server_start function
+     * of the axis2_http_receiver is called.
+     */
     if (args_list->listener)
     {
         axis2_transport_receiver_start(args_list->listener, th_env);

Modified: webservices/axis2/branches/c/post_1_4_mtom/c/src/core/clientapi/op_client.c
URL: http://svn.apache.org/viewvc/webservices/axis2/branches/c/post_1_4_mtom/c/src/core/clientapi/op_client.c?rev=666526&r1=666525&r2=666526&view=diff
==============================================================================
--- webservices/axis2/branches/c/post_1_4_mtom/c/src/core/clientapi/op_client.c (original)
+++ webservices/axis2/branches/c/post_1_4_mtom/c/src/core/clientapi/op_client.c Tue Jun 10 22:08:36 2008
@@ -335,6 +335,9 @@
     return op_client->callback;
 }
 
+/* This function is called from service client irrespective of the message exchange pattern 
+ * and whether one/two way channel used.
+ */
 AXIS2_EXTERN axis2_status_t AXIS2_CALL
 axis2_op_client_execute(
     axis2_op_client_t * op_client,
@@ -460,6 +463,7 @@
         msg_id = NULL;
     }
 
+    /* If dual channel. */
     if (axis2_options_get_use_separate_listener(op_client->options, env))
     {
         axis2_engine_t *engine = NULL;
@@ -483,7 +487,7 @@
         axis2_engine_send(engine, env, msg_ctx);
         axis2_engine_free(engine, env);
     }
-    else
+    else /* Same channel will be used irrespective of message exchange pattern. */
     {
         if (block)
         {
@@ -652,6 +656,8 @@
     AXIS2_FREE(env->allocator, op_client);
 }
 
+/* This function is the thread worker function for the single channel non blocking case. Here
+ * being non-blocking implies that message is two way. */
 void *AXIS2_THREAD_FUNC
 axis2_op_client_worker_func(
     axutil_thread_t * thd,
@@ -684,6 +690,11 @@
     /* send the request and wait for response */
     response = axis2_op_client_two_way_send(th_env, args_list->msg_ctx);
 
+    /* We do not need to handle the NULL reponse here because this thread function is called only
+     * in the single channel non blocking case which, imply this is two way message by design.
+     */
+
+    /* Here after the code is a subset of what callback receiver do in dual channel case.*/
     axis2_op_client_add_msg_ctx(args_list->op_client, th_env, response);
     args_list->op_client->async_result = axis2_async_result_create(th_env,
                                                                    response);
@@ -693,10 +704,11 @@
         axis2_callback_invoke_on_complete(args_list->callback,
                                           th_env,
                                           args_list->op_client->async_result);
+
         axis2_callback_set_complete(args_list->callback, th_env, AXIS2_TRUE);
     }
 
-    /* clean up memory */
+    /* Clean up memory */
     axis2_async_result_free(args_list->op_client->async_result, th_env);
 
     axis2_op_ctx_free(op_ctx, th_env);
@@ -897,6 +909,10 @@
         {
             transport_enum = AXIS2_TRANSPORT_ENUM_TCP;
         }
+		else if (!axutil_strcmp(transport, AXIS2_TRANSPORT_AMQP))
+		{
+			transport_enum = AXIS2_TRANSPORT_ENUM_AMQP;
+		}
 
         conf_ctx = axis2_svc_ctx_get_conf_ctx(op_client->svc_ctx, env);
         if (conf_ctx)
@@ -1103,6 +1119,7 @@
     return op_client->svc_ctx;
 }
 
+/* This function is called only for single cannel invocations */
 AXIS2_EXTERN axis2_msg_ctx_t *AXIS2_CALL
 axis2_op_client_two_way_send(
     const axutil_env_t * env,
@@ -1166,7 +1183,7 @@
         return NULL;
     }
 
-    /* handle one way case */
+    /* handle one way non robust case */
     if (!(axutil_strcmp(mep, AXIS2_MEP_URI_OUT_ONLY)))
     {
         return NULL;
@@ -1186,7 +1203,6 @@
                                axis2_msg_ctx_get_conf_ctx(msg_ctx, env));
     axis2_msg_ctx_set_svc_grp_ctx(response, env,
                                   axis2_msg_ctx_get_svc_grp_ctx(msg_ctx, env));
-    axis2_msg_ctx_set_options(response, env, axis2_msg_ctx_get_options(msg_ctx, env));
 
     /* If request is REST we assume the response is REST, so set the variable */
     axis2_msg_ctx_set_doing_rest(response, env,
@@ -1214,6 +1230,15 @@
         engine = axis2_engine_create(env, conf_ctx);
         if (engine)
         {
+            property = axis2_msg_ctx_get_property(msg_ctx, env, AXIS2_HANDLER_ALREADY_VISITED);
+            if (property)
+            {
+                axis2_char_t *value = axutil_property_get_value(property, env);
+                if (!axutil_strcmp(AXIS2_VALUE_TRUE, value))
+                {
+                    return response;
+                }
+            }
             status = axis2_engine_receive(engine, env, response);
         }
     }
@@ -1233,7 +1258,7 @@
         if (response_envelope)
         {
             axis2_msg_ctx_set_soap_envelope(response, env, response_envelope);
-            /* There could be a scenaria where the message has already passed
+            /* There could be a scenariao where the message has already passed
              * through the incoming phases. eg. Reliable Messaging 1.0 two
              * way single channel
              */

Modified: webservices/axis2/branches/c/post_1_4_mtom/c/src/core/clientapi/svc_client.c
URL: http://svn.apache.org/viewvc/webservices/axis2/branches/c/post_1_4_mtom/c/src/core/clientapi/svc_client.c?rev=666526&r1=666525&r2=666526&view=diff
==============================================================================
--- webservices/axis2/branches/c/post_1_4_mtom/c/src/core/clientapi/svc_client.c (original)
+++ webservices/axis2/branches/c/post_1_4_mtom/c/src/core/clientapi/svc_client.c Tue Jun 10 22:08:36 2008
@@ -721,6 +721,10 @@
         qname_free_flag = AXIS2_TRUE;
     }
 
+    /* If dual channel blocking. We come to this block if the client indicate to use
+     * a separate listener but don't provide a callback function to acted upon when
+     * response is recieved in the listener thread. What we do here is we create a callback
+     * and call axis2_svc_client_send_receive_non_blocking_with_op_qname with it. */
     if (axis2_options_get_use_separate_listener(svc_client->options, env))
     {
         axis2_callback_t *callback = NULL;
@@ -738,7 +742,9 @@
             return NULL;
         }
 
-        /* call two channel non blocking invoke to do the work and wait on the callback */
+        /* call two channel non blocking invoke to do the work and wait on the callback. Note
+         * that we don't set a callback function for the callback. Instead we plan to call
+         * engine_receive through op_client_receive() function periodically. */
         axis2_svc_client_send_receive_non_blocking_with_op_qname(svc_client,
                                                                  env, op_qname,
                                                                  payload,
@@ -748,50 +754,11 @@
             axis2_options_get_timeout_in_milli_seconds(svc_client->options,
                                                        env) / 10;
 
-        while (!(axis2_callback_get_complete(callback, env)))
+        while(!axis2_callback_get_complete(callback, env))
         {
-            /*wait till the response arrives */
             if (index-- >= 0)
             {
                 AXIS2_USLEEP(10000);
-                msg_ctx =
-                    (axis2_msg_ctx_t *) axis2_op_client_get_msg_ctx(svc_client->
-                                                                    op_client,
-                                                                    env,
-                                                                    AXIS2_WSDL_MESSAGE_LABEL_OUT);
-                if (msg_ctx)
-                {
-                    axis2_msg_ctx_t *res_msg_ctx =
-                        axis2_op_client_receive(env, msg_ctx);
-                    if (res_msg_ctx)
-                    {
-                        soap_envelope =
-                            axis2_msg_ctx_get_soap_envelope(res_msg_ctx, env);
-                        svc_client->last_response_soap_envelope = soap_envelope;
-                        if (soap_envelope)
-                        {
-                            soap_body =
-                                axiom_soap_envelope_get_body(soap_envelope,
-                                                             env);
-
-                            if (soap_body)
-                            {
-                                svc_client->last_response_has_fault =
-                                    axiom_soap_body_has_fault(soap_body, env);
-                                soap_node =
-                                    axiom_soap_body_get_base_node(soap_body,
-                                                                  env);
-                                if (soap_node)
-                                {
-                                    return
-                                        axiom_node_get_first_element(soap_node,
-                                                                     env);
-                                }
-                            }
-                        }
-                    }
-                }
-
             }
             else
             {
@@ -1000,6 +967,7 @@
     axis2_op_client_set_callback(svc_client->op_client, env, callback);
     axis2_op_client_add_out_msg_ctx(svc_client->op_client, env, msg_ctx);
 
+    /* If dual channel */
     if (axis2_options_get_use_separate_listener(svc_client->options, env))
     {
         axis2_op_t *op = NULL;
@@ -1014,6 +982,7 @@
         AXIS2_USLEEP(1);
 
         op = axis2_svc_get_op_with_qname(svc_client->svc, env, op_qname);
+        /* At the end of the incoming flow this message receiver will be hit */
         axis2_op_set_msg_recv(op, env,
                               AXIS2_CALLBACK_RECV_GET_BASE(svc_client->
                                                            callback_recv, env));

Modified: webservices/axis2/branches/c/post_1_4_mtom/c/src/core/deployment/conf_builder.c
URL: http://svn.apache.org/viewvc/webservices/axis2/branches/c/post_1_4_mtom/c/src/core/deployment/conf_builder.c?rev=666526&r1=666525&r2=666526&view=diff
==============================================================================
--- webservices/axis2/branches/c/post_1_4_mtom/c/src/core/deployment/conf_builder.c (original)
+++ webservices/axis2/branches/c/post_1_4_mtom/c/src/core/deployment/conf_builder.c Tue Jun 10 22:08:36 2008
@@ -791,6 +791,10 @@
                 {
                     transport_enum = AXIS2_TRANSPORT_ENUM_HTTPS;
                 }
+				else if (!axutil_strcmp(name, AXIS2_TRANSPORT_AMQP))
+				{
+					transport_enum = AXIS2_TRANSPORT_ENUM_AMQP;
+				}
                 else
                 {
                     AXIS2_LOG_ERROR (env->log, AXIS2_LOG_SI,
@@ -1139,6 +1143,10 @@
                 {
                     transport_enum = AXIS2_TRANSPORT_ENUM_HTTPS;
                 }
+				else if (!axutil_strcmp(name, AXIS2_TRANSPORT_AMQP))
+				{
+					transport_enum = AXIS2_TRANSPORT_ENUM_AMQP;
+				}
                 else
                 {
                     AXIS2_LOG_ERROR (env->log, AXIS2_LOG_SI, 
@@ -1460,3 +1468,4 @@
     return AXIS2_SUCCESS;
 }
 
+

Modified: webservices/axis2/branches/c/post_1_4_mtom/c/src/core/deployment/desc_builder.c
URL: http://svn.apache.org/viewvc/webservices/axis2/branches/c/post_1_4_mtom/c/src/core/deployment/desc_builder.c?rev=666526&r1=666525&r2=666526&view=diff
==============================================================================
--- webservices/axis2/branches/c/post_1_4_mtom/c/src/core/deployment/desc_builder.c (original)
+++ webservices/axis2/branches/c/post_1_4_mtom/c/src/core/deployment/desc_builder.c Tue Jun 10 22:08:36 2008
@@ -26,12 +26,11 @@
 
 struct axis2_desc_builder
 {
-
     /**
      * Store the full path to configuration file.
      */
     axis2_char_t *file_name;
-    axiom_stax_builder_t *builder;
+	axiom_node_t *root;
     struct axis2_dep_engine *engine;
 };
 
@@ -61,7 +60,7 @@
     }
     desc_builder->file_name = NULL;
     desc_builder->engine = NULL;
-    desc_builder->builder = NULL;
+    desc_builder->root = NULL;
 
     return desc_builder;
 }
@@ -86,7 +85,7 @@
         return NULL;
     }
 
-    desc_builder->builder = NULL;
+	desc_builder->root = NULL;
 
     desc_builder->file_name = axutil_strdup(env, file_name);
     if (!desc_builder->file_name)
@@ -134,9 +133,9 @@
         AXIS2_FREE(env->allocator, desc_builder->file_name);
     }
 
-    if (desc_builder->builder)
+    if (desc_builder->root)
     {
-        axiom_stax_builder_free(desc_builder->builder, env);
+		axiom_node_free_tree(desc_builder->root,env);
     }
 
     /* we cannot free deployment engine here */
@@ -156,7 +155,7 @@
 {
     axiom_xml_reader_t *reader = NULL;
     axiom_document_t *document = NULL;
-    axiom_node_t *root = NULL;
+	axiom_stax_builder_t *builder = NULL;
 
     if (!desc_builder->file_name)
     {
@@ -168,7 +167,7 @@
     }
 
     /** create pull parser using the file path to configuration file */
-    reader = axiom_xml_reader_create_for_file(env, desc_builder->file_name,
+    reader = axiom_xml_reader_create_for_file(env, desc_builder->file_name, 
                                               NULL);
 
     if (!reader)
@@ -181,9 +180,9 @@
     };
 
     /** create axiom_stax_builder by parsing pull_parser struct */
-    desc_builder->builder = axiom_stax_builder_create(env, reader);
+    builder = axiom_stax_builder_create(env, reader);
 
-    if (!(desc_builder->builder))
+    if (!(builder))
     {
         AXIS2_ERROR_SET(env->error, AXIS2_ERROR_CREATING_XML_STREAM_READER,
                         AXIS2_FAILURE);
@@ -197,7 +196,7 @@
         get the om document form builder 
         document is the container of om model created using builder
     */
-    document = axiom_stax_builder_get_document(desc_builder->builder, env);
+    document = axiom_stax_builder_get_document(builder, env);
 
     /**
      * In description building we don't want defferred building. So build
@@ -208,8 +207,13 @@
     /**
         get root element , building starts hear 
      */
-    root = axiom_document_get_root_element(document, env);
-    return root;
+    desc_builder->root = axiom_document_get_root_element(document, env);
+	/**
+		We have built the whole document. So no need of keeping the builder.
+	*/
+	axiom_stax_builder_free_self(builder, env);
+
+    return desc_builder->root;
 }
 
 AXIS2_EXTERN axis2_flow_t *AXIS2_CALL

Modified: webservices/axis2/branches/c/post_1_4_mtom/c/src/core/description/op.c
URL: http://svn.apache.org/viewvc/webservices/axis2/branches/c/post_1_4_mtom/c/src/core/description/op.c?rev=666526&r1=666525&r2=666526&view=diff
==============================================================================
--- webservices/axis2/branches/c/post_1_4_mtom/c/src/core/description/op.c (original)
+++ webservices/axis2/branches/c/post_1_4_mtom/c/src/core/description/op.c Tue Jun 10 22:08:36 2008
@@ -1142,22 +1142,26 @@
             "registering operation context for operation %s", opname);
         return AXIS2_FAILURE;
     }
-    msg_id = axis2_msg_ctx_get_msg_id(msg_ctx, env);
-    if (!msg_id)
-    {
 
-        AXIS2_LOG_WARNING(env->log, AXIS2_LOG_SI, 
-            "Message id not found for message context while "\
-            "registering operation context for operation %s", opname);
-        return AXIS2_FAILURE;
-    }
     status = axis2_msg_ctx_set_op_ctx(msg_ctx, env, op_ctx);
-    if (AXIS2_FAILURE == status)
+
+    if (AXIS2_SUCCESS != status)
     {
         axutil_hash_t *op_ctx_map = NULL;
-        op_ctx_map =
-            (axutil_hash_t *) axis2_conf_ctx_get_op_ctx_map(conf_ctx, env);
-        axutil_hash_set(op_ctx_map, msg_id, AXIS2_HASH_KEY_STRING, NULL);
+
+        msg_id = axis2_msg_ctx_get_msg_id(msg_ctx, env);
+        if (msg_id)
+        {
+            op_ctx_map = (axutil_hash_t *) axis2_conf_ctx_get_op_ctx_map(conf_ctx, env);
+            axutil_hash_set(op_ctx_map, msg_id, AXIS2_HASH_KEY_STRING, NULL);
+        }
+        else
+        {
+            AXIS2_LOG_WARNING(env->log, AXIS2_LOG_SI, 
+                "Message id not found for message context while registering operation context "\
+                "for operation %s. The reason could be that there is no addressing enabled for "\
+                "communication", opname);
+        }
     }
     if (axis2_op_ctx_get_is_complete(op_ctx, env))
     {

Modified: webservices/axis2/branches/c/post_1_4_mtom/c/src/core/engine/rest_disp.c
URL: http://svn.apache.org/viewvc/webservices/axis2/branches/c/post_1_4_mtom/c/src/core/engine/rest_disp.c?rev=666526&r1=666525&r2=666526&view=diff
==============================================================================
--- webservices/axis2/branches/c/post_1_4_mtom/c/src/core/engine/rest_disp.c (original)
+++ webservices/axis2/branches/c/post_1_4_mtom/c/src/core/engine/rest_disp.c Tue Jun 10 22:08:36 2008
@@ -28,6 +28,7 @@
 #include <axiom_soap_body.h>
 #include <axiom_soap_const.h>
 #include <axis2_http_transport.h>
+#include <axis2_core_utils.h>
 
 
 const axis2_char_t *AXIS2_REST_DISP_NAME = "rest_dispatcher";
@@ -201,7 +202,7 @@
                         AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI,
                                         "Checking for operation using \
 REST HTTP Location fragment : %s", location);
-                        op = axis2_rest_disp_get_rest_op_with_method_and_location(svc, env,
+                        op = axis2_core_utils_get_rest_op_with_method_and_location(svc, env,
                                  axis2_msg_ctx_get_rest_http_method(msg_ctx, env), location,
                                  &param_count, &params);
                         if (op)
@@ -232,7 +233,7 @@
                                 if (axutil_strcasecmp(rest_methods[i], 
                                                       http_method))
                                 {
-                                    if (axis2_rest_disp_get_rest_op_with_method_and_location(svc, env,
+                                    if (axis2_core_utils_get_rest_op_with_method_and_location(svc, env,
                                         rest_methods[i], location, &param_count, &params))
                                     {
                                         for (j = 0; j < param_count; j++)
@@ -339,6 +340,7 @@
     return axis2_disp_find_svc_and_op(handler, env, msg_ctx);
 }
 
+/*
 axis2_op_t *AXIS2_CALL
 axis2_rest_disp_get_rest_op_with_method_and_location(
     const axis2_svc_t * svc,
@@ -381,7 +383,6 @@
         if (rindex && *rindex)
         {
             loc_str_tmp = axutil_string_substring_ending_at(loc_str_tmp, (int)(rindex - loc_str_tmp));
-            /* We are sure that the difference lies within the int range */
         }
         else if (pass_one)
         {
@@ -391,7 +392,6 @@
         {
             int i = 0;
             i = (int)strlen(loc_str_tmp);
-            /* We are sure that the difference lies within the int range */
             if (i == 0)
             {
                 break;
@@ -449,3 +449,5 @@
     return NULL;
 }
 
+*/
+

Modified: webservices/axis2/branches/c/post_1_4_mtom/c/src/core/phaseresolver/phase_resolver.c
URL: http://svn.apache.org/viewvc/webservices/axis2/branches/c/post_1_4_mtom/c/src/core/phaseresolver/phase_resolver.c?rev=666526&r1=666525&r2=666526&view=diff
==============================================================================
--- webservices/axis2/branches/c/post_1_4_mtom/c/src/core/phaseresolver/phase_resolver.c (original)
+++ webservices/axis2/branches/c/post_1_4_mtom/c/src/core/phaseresolver/phase_resolver.c Tue Jun 10 22:08:36 2008
@@ -38,6 +38,23 @@
     axis2_svc_t *svc;
 };
 
+/*
+ * Engages the given global module to the given service. This means 
+ * the given module would be engaged to all operations of the given 
+ * service.
+ * @param phase_resolver pointer to phase resolver
+ * @param env pointer to environment struct
+ * @param svc pointer to service
+ * @param module_desc pointer to module description
+ * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
+ */
+static axis2_status_t
+axis2_phase_resolver_engage_module_to_svc_from_global(
+    axis2_phase_resolver_t * phase_resolver,
+    const axutil_env_t * env,
+    struct axis2_svc *svc,
+    struct axis2_module_desc *module_desc);
+
 static axis2_status_t axis2_phase_resolver_build_execution_chains(
     axis2_phase_resolver_t * phase_resolver,
     const axutil_env_t * env,
@@ -1059,7 +1076,7 @@
  * axis2_phase_resolver_engage_module_globally() to add handlers from module
  * into each services all operations.
  */
-AXIS2_EXTERN axis2_status_t AXIS2_CALL
+static axis2_status_t
 axis2_phase_resolver_engage_module_to_svc_from_global(
     axis2_phase_resolver_t * phase_resolver,
     const axutil_env_t * env,
@@ -1076,6 +1093,7 @@
 
     AXIS2_LOG_TRACE(env->log, AXIS2_LOG_SI, 
         "Entry:axis2_phase_resolver_engage_module_to_svc_from_global");
+
     AXIS2_PARAM_CHECK(env->error, svc, AXIS2_FAILURE);
     AXIS2_PARAM_CHECK(env->error, module_desc, AXIS2_FAILURE);
     svc_name = axis2_svc_get_name(svc, env);
@@ -1279,8 +1297,10 @@
             return status;
         }
     }
+
     AXIS2_LOG_TRACE(env->log, AXIS2_LOG_SI, 
         "Exit:axis2_phase_resolver_engage_module_to_svc_from_global");
+
     return AXIS2_SUCCESS;
 }
 

Modified: webservices/axis2/branches/c/post_1_4_mtom/c/src/core/receivers/raw_xml_in_out_msg_recv.c
URL: http://svn.apache.org/viewvc/webservices/axis2/branches/c/post_1_4_mtom/c/src/core/receivers/raw_xml_in_out_msg_recv.c?rev=666526&r1=666525&r2=666526&view=diff
==============================================================================
--- webservices/axis2/branches/c/post_1_4_mtom/c/src/core/receivers/raw_xml_in_out_msg_recv.c (original)
+++ webservices/axis2/branches/c/post_1_4_mtom/c/src/core/receivers/raw_xml_in_out_msg_recv.c Tue Jun 10 22:08:36 2008
@@ -220,7 +220,6 @@
                 AXIS2_SVC_SKELETON_INVOKE(svc_obj, env, om_node, new_msg_ctx);
         }
 
-        axis2_msg_ctx_set_no_content(new_msg_ctx, env, AXIS2_FALSE);
         if (result_node)
         {
             if (0 == axutil_strcmp(style, AXIS2_STYLE_RPC))
@@ -354,6 +353,7 @@
         {
             fault_detail =
                 axiom_soap_fault_detail_create_with_parent(env, soap_fault);
+            AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "fault_detail:%s", fault_detail);
             axiom_soap_fault_detail_add_detail_entry(fault_detail, env,
                                                      fault_node);
         }

Modified: webservices/axis2/branches/c/post_1_4_mtom/c/src/core/transport/Makefile.am
URL: http://svn.apache.org/viewvc/webservices/axis2/branches/c/post_1_4_mtom/c/src/core/transport/Makefile.am?rev=666526&r1=666525&r2=666526&view=diff
==============================================================================
--- webservices/axis2/branches/c/post_1_4_mtom/c/src/core/transport/Makefile.am (original)
+++ webservices/axis2/branches/c/post_1_4_mtom/c/src/core/transport/Makefile.am Tue Jun 10 22:08:36 2008
@@ -1,2 +1,2 @@
-SUBDIRS=http $(TCP_DIR)
+SUBDIRS=http $(TCP_DIR) $(AMQP_DIR)
 EXTRA_DIST=Makefile.am

Modified: webservices/axis2/branches/c/post_1_4_mtom/c/src/core/transport/http/common/http_header.c
URL: http://svn.apache.org/viewvc/webservices/axis2/branches/c/post_1_4_mtom/c/src/core/transport/http/common/http_header.c?rev=666526&r1=666525&r2=666526&view=diff
==============================================================================
--- webservices/axis2/branches/c/post_1_4_mtom/c/src/core/transport/http/common/http_header.c (original)
+++ webservices/axis2/branches/c/post_1_4_mtom/c/src/core/transport/http/common/http_header.c Tue Jun 10 22:08:36 2008
@@ -71,7 +71,7 @@
         return NULL;
     }
     /* remove trailing \r\n */
-    if (AXIS2_RETURN == tmp_str[axutil_strlen(tmp_str) - 2])
+    if ((axutil_strlen(tmp_str) >= 2) && (AXIS2_RETURN == tmp_str[axutil_strlen(tmp_str) - 2]))
     {
         tmp_str[axutil_strlen(tmp_str) - 2] = AXIS2_ESC_NULL;
     }

Modified: webservices/axis2/branches/c/post_1_4_mtom/c/src/core/transport/http/common/http_simple_request.c
URL: http://svn.apache.org/viewvc/webservices/axis2/branches/c/post_1_4_mtom/c/src/core/transport/http/common/http_simple_request.c?rev=666526&r1=666525&r2=666526&view=diff
==============================================================================
--- webservices/axis2/branches/c/post_1_4_mtom/c/src/core/transport/http/common/http_simple_request.c (original)
+++ webservices/axis2/branches/c/post_1_4_mtom/c/src/core/transport/http/common/http_simple_request.c Tue Jun 10 22:08:36 2008
@@ -419,6 +419,12 @@
 
     }
 
+	if(tmp_buf2)
+	{
+		AXIS2_FREE(env->allocator, tmp_buf2);
+		tmp_buf2 = NULL;
+	}
+
     if (tmp_buf)
     {
         *buf = tmp_buf;

Modified: webservices/axis2/branches/c/post_1_4_mtom/c/src/core/transport/http/sender/http_sender.c
URL: http://svn.apache.org/viewvc/webservices/axis2/branches/c/post_1_4_mtom/c/src/core/transport/http/sender/http_sender.c?rev=666526&r1=666525&r2=666526&view=diff
==============================================================================
--- webservices/axis2/branches/c/post_1_4_mtom/c/src/core/transport/http/sender/http_sender.c (original)
+++ webservices/axis2/branches/c/post_1_4_mtom/c/src/core/transport/http/sender/http_sender.c Tue Jun 10 22:08:36 2008
@@ -247,6 +247,7 @@
     axutil_param_t *write_xml_declaration_param = NULL;
     axutil_hash_t *transport_attrs = NULL;
     axis2_bool_t write_xml_declaration = AXIS2_FALSE;
+    axutil_property_t *property = NULL;/* Property for holding http client */
 
     AXIS2_LOG_TRACE(env->log, AXIS2_LOG_SI, "Entry:axis2_http_sender_send");
     soap_body = axiom_soap_envelope_get_body (out, env);
@@ -329,6 +330,16 @@
                          "sender->client creation failed for url %s", url);
         return AXIS2_FAILURE;
     }
+   
+    /* We put the client into msg_ctx so that we can free it once the processing
+     * is done at client side
+     */
+    property = axutil_property_create (env);
+    axutil_property_set_scope (property, env, AXIS2_SCOPE_REQUEST);
+    axutil_property_set_free_func (property, env,
+                                   axis2_http_client_free_void_arg);
+    axutil_property_set_value (property, env, sender->client);
+    axis2_msg_ctx_set_property (msg_ctx, env, AXIS2_HTTP_CLIENT, property);
 
     /* configure proxy settings if we have set so
      */
@@ -402,16 +413,6 @@
     if (!send_via_get && !send_via_head && !send_via_delete)
     {
         /* processing POST and PUT methods */
-        axutil_property_t *property = NULL;
-        /* We put the client into msg_ctx so that we can free it once the processing
-         * is done at client side
-         */
-        property = axutil_property_create (env);
-        axutil_property_set_scope (property, env, AXIS2_SCOPE_REQUEST);
-        axutil_property_set_free_func (property, env,
-                                       axis2_http_client_free_void_arg);
-        axutil_property_set_value (property, env, sender->client);
-        axis2_msg_ctx_set_property (msg_ctx, env, AXIS2_HTTP_CLIENT, property);
         AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "msg_ctx_id:%s", 
             axis2_msg_ctx_get_msg_id(msg_ctx,env));
 
@@ -531,11 +532,14 @@
             path = axutil_strcat (env,
                               axutil_url_get_path (url, env),
                               AXIS2_Q_MARK_STR, request_params, NULL);
+			AXIS2_FREE(env->allocator, request_params);
+			request_params = NULL;
         }
         else
         {
             path = axutil_url_to_external_form(url, env);
         }
+
         if (send_via_get)
         {
             request_line = axis2_http_request_line_create (env, 
@@ -557,6 +561,12 @@
                                                            path,
                                                            sender->http_version);
         }
+
+		if(path)
+		{
+			AXIS2_FREE(env->allocator, path);
+			path = NULL;
+		}
     }
 
     request = axis2_http_simple_request_create (env, request_line, NULL, 0,
@@ -3283,6 +3293,8 @@
                 axutil_array_list_add (param_list, env,
                                        axutil_strcat (env, name, "=",
                                                       encoded_value, NULL));
+				AXIS2_FREE(env->allocator, encoded_value);
+				encoded_value = NULL;
             }
         }
     }

Modified: webservices/axis2/branches/c/post_1_4_mtom/c/src/core/transport/http/sender/http_transport_sender.c
URL: http://svn.apache.org/viewvc/webservices/axis2/branches/c/post_1_4_mtom/c/src/core/transport/http/sender/http_transport_sender.c?rev=666526&r1=666525&r2=666526&view=diff
==============================================================================
--- webservices/axis2/branches/c/post_1_4_mtom/c/src/core/transport/http/sender/http_transport_sender.c (original)
+++ webservices/axis2/branches/c/post_1_4_mtom/c/src/core/transport/http/sender/http_transport_sender.c Tue Jun 10 22:08:36 2008
@@ -370,7 +370,7 @@
             if (trans_desc)
             {
 
-                /* accesing parameter in axis2.xml which set to have
+                /* accessing parameter in axis2.xml which set to have
                  * an ability to send xml versoin processing
                  * instruction <?xml version = "1.0"?> */
                 write_xml_declaration_param =
@@ -449,7 +449,7 @@
                     {
                         
                         AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI,
-                            "Rest fault has occure, error described below");
+                            "Rest fault has occur, error described below");
                         axiom_output_free(om_output, env);
                         om_output = NULL;
                         xml_writer = NULL;

Modified: webservices/axis2/branches/c/post_1_4_mtom/c/src/core/transport/http/server/IIS/README
URL: http://svn.apache.org/viewvc/webservices/axis2/branches/c/post_1_4_mtom/c/src/core/transport/http/server/IIS/README?rev=666526&r1=666525&r2=666526&view=diff
==============================================================================
--- webservices/axis2/branches/c/post_1_4_mtom/c/src/core/transport/http/server/IIS/README (original)
+++ webservices/axis2/branches/c/post_1_4_mtom/c/src/core/transport/http/server/IIS/README Tue Jun 10 22:08:36 2008
@@ -1,12 +1,12 @@
 How to Configure IIS Module for Axis2C
 ________________________________________
 
-Use the Axis2/C VC project or makefile to buid the component.
+Use the Axis2/C VC project or makefile to build the component.
 
-In this document it is assumed that the mod_axis2_IIS.dll is in the directory 
+In this document it is assumed that the mod_axis2_IIS.dll is in the directory
 c:\axis2c\lib\mod_axis2_IIS.dll and axis2c_home is c:\axis2c
 
-Add the following key to the registery.
+Add the following key to the registry.
 
 HKEY_LOCAL_MACHINE\SOFTWARE\Apache Axis2c\IIS ISAPI Redirector
 
@@ -16,14 +16,25 @@
 
 Add a string value with the name log_level. The value can be one of trace, error, info, critical, debug, warning
 
-Using the IIS management console, add a new virtual directory to your IIS/PWS Web site. 
-The name of the virtual directory must be axis2. Its physical path should be the directory 
-where you placed mod_axis2_IIS.dll (in our example it is c:\axis2c\lib). When creating this new 
+IIS 5.1 or Below
+
+Using the IIS management console, add a new virtual directory to your IIS/PWS Web site.
+The name of the virtual directory must be axis2. Its physical path should be the directory
+where you placed mod_axis2_IIS.dll (in our example it is c:\axis2c\lib). When creating this new
 virtual directory, assign execute access to it.
 
-By Using the IIS management console, add mod_axis2_IIS.dll as a filter in your IIS/PWS web site and restart the IIS admin service. 
+By Using the IIS management console, add mod_axis2_IIS.dll as a filter in your IIS/PWS web site and restart the IIS admin service.
 
  
+IIS 6 & 7
+
+Using the IIS management console, add the mod_axis2_IIS.dll as a Wildcard Script Map.
+    Executable should be the complete path to the mod_axis2_IIS.dll
+    You can put any name as the name of the Wildcard Script Map
+
+Please don't add the mod_axis2_IIS.dll as a filter to IIS as in the IIS 5.1 case.
+
+Note: If the Axis2/C failed to load, verify that Axis2/C and its dependent DLLs are in the System Path (not the user path). 
 
 
 

Modified: webservices/axis2/branches/c/post_1_4_mtom/c/src/core/transport/http/server/IIS/axis2_iis_worker.c
URL: http://svn.apache.org/viewvc/webservices/axis2/branches/c/post_1_4_mtom/c/src/core/transport/http/server/IIS/axis2_iis_worker.c?rev=666526&r1=666525&r2=666526&view=diff
==============================================================================
--- webservices/axis2/branches/c/post_1_4_mtom/c/src/core/transport/http/server/IIS/axis2_iis_worker.c (original)
+++ webservices/axis2/branches/c/post_1_4_mtom/c/src/core/transport/http/server/IIS/axis2_iis_worker.c Tue Jun 10 22:08:36 2008
@@ -168,10 +168,19 @@
     ret_val = lpECB->GetServerVariable(lpECB->ConnID, "SERVER_PORT", port, &cbSize);
     cbSize = INTERNET_MAX_PATH_LENGTH;
     ret_val = lpECB->GetServerVariable(lpECB->ConnID, "HTTP_URL", redirect_url, &cbSize);
-    axis2_worker_get_original_url(redirect_url, original_url);
 
-    /* create the url using the above variables */                     
-    sprintf(req_url, "%s%s%s%s", "http", server_name, port, original_url);
+	/* We have a mapped URL only when the server version is 5 or less than that. */
+	if (server_version <= 5)
+	{
+		axis2_worker_get_original_url(redirect_url, original_url);
+		/* create the url using the above variables */                     
+		sprintf(req_url, "%s%s%s%s", "http://", server_name, port, original_url);
+	}
+	else
+	{
+		sprintf(req_url, "%s%s%s%s", "http://", server_name, port, redirect_url);
+	}
+
     out_stream = axutil_stream_create_basic(env);
     out_desc = axis2_conf_get_transport_out(
         axis2_conf_ctx_get_conf (iis_worker->conf_ctx, env), env, AXIS2_TRANSPORT_ENUM_HTTP);

Modified: webservices/axis2/branches/c/post_1_4_mtom/c/src/core/transport/http/server/IIS/axis2_iis_worker.h
URL: http://svn.apache.org/viewvc/webservices/axis2/branches/c/post_1_4_mtom/c/src/core/transport/http/server/IIS/axis2_iis_worker.h?rev=666526&r1=666525&r2=666526&view=diff
==============================================================================
--- webservices/axis2/branches/c/post_1_4_mtom/c/src/core/transport/http/server/IIS/axis2_iis_worker.h (original)
+++ webservices/axis2/branches/c/post_1_4_mtom/c/src/core/transport/http/server/IIS/axis2_iis_worker.h Tue Jun 10 22:08:36 2008
@@ -33,6 +33,7 @@
     
 typedef struct axis2_iis_worker axis2_iis_worker_t;
     
+int server_version;
 
 int AXIS2_CALL
  axis2_iis_worker_process_request(
@@ -53,13 +54,6 @@
        axis2_char_t * repo_path);
     
 
-
-#define AXIS2_IIS_WORKER_PROCESS_REQUEST(iis_worker, env, request)	\
-         axis2_iis_worker_process_request( \
-             iis_worker,    env,    request)
-#define AXIS2_IIS_WORKER_FREE(iis_worker, env)					\
-            axis2_iis_worker_free(    iis_worker,    env) 
-
 #ifdef __cplusplus
 }
 #endif  /*