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 da...@apache.org on 2005/11/21 04:19:52 UTC

svn commit: r345818 [2/3] - in /webservices/axis2/trunk/c: include/ modules/wsdl/src/

Modified: webservices/axis2/trunk/c/include/axis2_wsdl_operation.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/include/axis2_wsdl_operation.h?rev=345818&r1=345817&r2=345818&view=diff
==============================================================================
--- webservices/axis2/trunk/c/include/axis2_wsdl_operation.h (original)
+++ webservices/axis2/trunk/c/include/axis2_wsdl_operation.h Sun Nov 20 19:19:08 2005
@@ -32,14 +32,18 @@
 
 #include <axis2_qname.h>
 #include <axis2_wsdl_component.h>
+#include <axis2_linked_list.h>
+#include <axis2_wsdl_msg_ref.h>
+#include <axis2_wsdl_fault_ref.h>
+#include <axis2_wsdl_svc.h>
 
 #ifdef __cplusplus
 extern "C"
 {
 #endif
 	
-typedef struct axis2_wsdl_operation_ops_s axis2_wsdl_operation_ops_t;
-typedef struct axis2_wsdl_operation_s axis2_wsdl_operation_t;	
+typedef struct axis2_wsdl_operation_ops axis2_wsdl_operation_ops_t;
+typedef struct axis2_wsdl_operation axis2_wsdl_operation_t;	
 	
 
 /** @defgroup axis2_wsdl_operation Wsdl Operation
@@ -47,48 +51,49 @@
   * @{
   */
 
-struct axis2_wsdl_operation_ops_s
+struct axis2_wsdl_operation_ops
 {
 	/** Deallocate memory
      * @return status code
      */
-    axis2_status_t (AXIS2_CALL *free) (axis2_wsdl_operation_t *wsdl_operation,
-                            axis2_env_t **env);
+    axis2_status_t (AXIS2_CALL *
+    free) (axis2_wsdl_operation_t *wsdl_operation,
+            axis2_env_t **env);
         
     /**
      * set the message exchange pattern
      * @param axis2_char_t message exchange pattern
      * @return status code
      */
-    axis2_status_t (AXIS2_CALL *set_msg_exchange_pattern)
-                                    (axis2_wsdl_operation_t *wsdl_operation, 
-                                        axis2_env_t **env, 
-                                        const axis2_char_t *msg_exchange_pattern);
+    axis2_status_t (AXIS2_CALL *
+    set_msg_exchange_pattern) (axis2_wsdl_operation_t *wsdl_operation, 
+                                axis2_env_t **env, 
+                                const axis2_char_t *msg_exchange_pattern);
   
     /**
      * get the message exchange pattern
      * @return axis2_char_t message exchange pattern
      */
-    axis2_char_t *(AXIS2_CALL *get_msg_exchange_pattern) 
-		                                (axis2_wsdl_operation_t *wsdl_operation, 
-                                            axis2_env_t **env);
+    axis2_char_t *(AXIS2_CALL *
+    get_msg_exchange_pattern) (axis2_wsdl_operation_t *wsdl_operation, 
+                                axis2_env_t **env);
 
     /**
      * Set the wsdl operation name
      * @param axis2_qname_t* operation name
      */
-    axis2_status_t (AXIS2_CALL *set_name) (
-                                        axis2_wsdl_operation_t *wsdl_operation, 
-                                        axis2_env_t **env,
-                                        axis2_qname_t *name);
+    axis2_status_t (AXIS2_CALL *
+    set_name) (axis2_wsdl_operation_t *wsdl_operation, 
+                axis2_env_t **env,
+                axis2_qname_t *name);
                                         
     /**
      * Get the name of wsdl operation
      * @return axis2_qname_t wsdl operation name
      */
-    axis2_qname_t *(AXIS2_CALL *get_name) (
-                                        axis2_wsdl_operation_t *wsdl_operation,
-                                        axis2_env_t **env);
+    axis2_qname_t *(AXIS2_CALL *
+    get_name) (axis2_wsdl_operation_t *wsdl_operation,
+                axis2_env_t **env);
     
 
     /**
@@ -96,65 +101,149 @@
      * @param axis2_char_t style
      * @return status code
      */
-    axis2_status_t (AXIS2_CALL *set_style) (
-                                        axis2_wsdl_operation_t *wsdl_operation,
-                                        axis2_env_t **env,
-                                        axis2_char_t *style);
+    axis2_status_t (AXIS2_CALL *
+    set_style) (axis2_wsdl_operation_t *wsdl_operation,
+                axis2_env_t **env,
+                axis2_char_t *style);
     
     /**
      * Get style
      * @return axis2_char_t style
      */
-    axis2_char_t *(AXIS2_CALL *get_style) (
-                                        axis2_wsdl_operation_t *wsdl_operation,
+    axis2_char_t *(AXIS2_CALL *
+    get_style) (axis2_wsdl_operation_t *wsdl_operation,
+                axis2_env_t **env);
+    
+    
+    /**
+     * Method getInfaults
+     *
+     * @return
+     */
+    axis2_linked_list_t * (AXIS2_CALL *
+    get_infaults) (axis2_wsdl_operation_t *wsdl_operation,
                                         axis2_env_t **env);
     
+    /**
+     * Method setInfaults
+     *
+     * @param infaults
+     */
+    axis2_status_t (AXIS2_CALL *
+    set_infaults) (axis2_wsdl_operation_t *wsdl_operation,
+                                        axis2_env_t **env,
+                                        axis2_linked_list_t *infaults);
     
+    /**
+     * Method getInputMessage
+     *
+     * @return
+     */
+    axis2_wsdl_msg_ref_t *(AXIS2_CALL *
+    get_input_msg) (axis2_wsdl_operation_t *wsdl_operation,
+                                        axis2_env_t **env);
     
     /**
-     * Sets the properties of the operation if any
-     * @param axis2_hash_t properties
+     * Method setInputMessage
+     *
+     * @param inputMessage
      */
-    axis2_status_t (AXIS2_CALL *set_component_properties) (
-                                        axis2_wsdl_operation_t *wsdl_operation,
+    axis2_status_t (AXIS2_CALL *
+    set_input_msg) (axis2_wsdl_operation_t *wsdl_operation,
                                         axis2_env_t **env,
-                                        axis2_hash_t *properties);
+                                        axis2_wsdl_msg_ref_t *input_msg);
     
     /**
-     * Returns the properties that are specific to this WSDL operation
-     * @return axis2_hash_t component properties
-      */
-    axis2_hash_t *(AXIS2_CALL *get_component_properties) (
-                                        axis2_wsdl_operation_t *wsdl_operation,
+     * Method getOutfaults
+     *
+     * @return
+     */
+    axis2_linked_list_t *(AXIS2_CALL *
+    get_outfaults)(axis2_wsdl_operation_t *wsdl_operation,
                                         axis2_env_t **env);
     
     /**
-     * Will set the property keyed with the relavent key
-     * @param void Key in the map
-     * @param void value to be put
-     * @return status code
+     * Method setOutfaults
+     *
+     * @param outfaults
      */
-    axis2_status_t (AXIS2_CALL *set_component_property) (
-                                    axis2_wsdl_operation_t *wsdl_operation,
-                                    axis2_env_t **env, 
-                                    const void *key, 
-                                    void *value);
+    axis2_status_t (AXIS2_CALL *
+    set_outfaults) (axis2_wsdl_operation_t *wsdl_operation,
+                                        axis2_env_t **env,
+                                        axis2_linked_list_t *outfaults);
     
     /**
-     * Gets the component property
-     * @param void key for the map search.
-     * @return void value for the key
-     */
-    void *(AXIS2_CALL *get_component_property) (
-                                        axis2_wsdl_operation_t *wsdl_operation,
-                                        axis2_env_t **env, 
-                                        const void *key);
-
+     * Method getOutputMessage
+     *
+     * @return
+     */
+    axis2_wsdl_msg_ref_t *(AXIS2_CALL *
+    get_output_msg) (axis2_wsdl_operation_t *wsdl_operation,
+                                        axis2_env_t **env);
+    
+    /**
+     * Method setOutputMessage
+     *
+     * @param outputMessage
+     */
+    axis2_status_t (AXIS2_CALL *
+    set_output_msg) (axis2_wsdl_operation_t *wsdl_operation,
+                        axis2_env_t **env,
+                        axis2_wsdl_msg_ref_t *output_msg);
+    
+    /**
+     * Method isSafe
+     *
+     * @return
+     */
+    axis2_bool_t (AXIS2_CALL *
+    is_safe) (axis2_wsdl_operation_t *wsdl_operation,
+                axis2_env_t **env);
+    
+    /**
+     * Method setSafety
+     *
+     * @param safe
+     */
+    axis2_status_t (AXIS2_CALL *
+    set_safety) (axis2_wsdl_operation_t *wsdl_operation,
+                    axis2_env_t **env,
+                    axis2_bool_t safe);
+    
+    /**
+     * Will return the Namespace of the QName of this <code>WSDLOperation</code>. Will return null if not set.
+     *
+     * @return
+     */
+    axis2_char_t *(AXIS2_CALL *
+    get_target_namespace) (axis2_wsdl_operation_t *wsdl_operation,
+                            axis2_env_t **env);
+    
+    /**
+     * Add the InFault to the Components InFaults
+     *
+     * @param inFault
+     */
+    axis2_status_t (AXIS2_CALL *
+    add_infault) (axis2_wsdl_operation_t *wsdl_operation,
+                    axis2_env_t **env,
+                    axis2_wsdl_fault_ref_t *infault);
+    
+    /**
+     * Add the OutFault to the Component OutFaults
+     *
+     * @param outFault
+     */
+    axis2_status_t (AXIS2_CALL *
+    add_outfault) (axis2_wsdl_operation_t *wsdl_operation,
+                    axis2_env_t **env,
+                    axis2_wsdl_fault_ref_t *outfault);
 };
 
-struct axis2_wsdl_operation_s
+struct axis2_wsdl_operation
 {
 	axis2_wsdl_operation_ops_t *ops;
+    axis2_wsdl_extensible_component_t *extensible_component;
 };
 
 AXIS2_DECLARE(axis2_wsdl_operation_t *) axis2_wsdl_operation_create (
@@ -183,18 +272,45 @@
 #define AXIS2_WSDL_OPERATION_GET_STYLE(wsdl_operation, env) \
 		((wsdl_operation->ops)->get_style(wsdl_operation, env))
 		
-#define AXIS2_WSDL_OPERATION_SET_COMPONENT_PROPERTIES(wsdl_operation, env, properties) \
-		((wsdl_operation->ops)->set_component_properties(wsdl_operation, env, properties))
+#define AXIS2_WSDL_OPERATION_GET_INFAULTS(wsdl_operation, env) \
+		((wsdl_operation->ops)->get_infaults(wsdl_operation, env))
+		
+#define AXIS2_WSDL_OPERATION_SET_INFAULTS(wsdl_operation, env, infaults) \
+		((wsdl_operation->ops)->set_infaults(wsdl_operation, env, infaults))
+
+#define AXIS2_WSDL_OPERATION_GET_INPUT_MSG(wsdl_operation, env) \
+		((wsdl_operation->ops)->get_input_msg(wsdl_operation, env))
+		
+#define AXIS2_WSDL_OPERATION_SET_INPUT_MSG(wsdl_operation, env, input_msg) \
+		((wsdl_operation->ops)->set_input_msg(wsdl_operation, env, input_msg))		
+
+#define AXIS2_WSDL_OPERATION_GET_OUTFAULTS(wsdl_operation, env) \
+		((wsdl_operation->ops)->get_outfaults(wsdl_operation, env))
+		
+#define AXIS2_WSDL_OPERATION_SET_OUTFAULTS(wsdl_operation, env, outfaults) \
+		((wsdl_operation->ops)->set_outfaults(wsdl_operation, env, outfaults))
+
+#define AXIS2_WSDL_OPERATION_GET_OUTPUT_MSG(wsdl_operation, env) \
+		((wsdl_operation->ops)->get_output_msg(wsdl_operation, env))
 		
-#define AXIS2_WSDL_OPERATION_GET_COMPONENT_PROPERTIES(wsdl_operation, env) \
-		((wsdl_operation->ops)->get_component_properties(wsdl_operation, env))
+#define AXIS2_WSDL_OPERATION_SET_OUTPUT_MSG(wsdl_operation, env, output_msg) \
+		((wsdl_operation->ops)->set_output_msg(wsdl_operation, env, output_msg))
 
-#define AXIS2_WSDL_OPERATION_SET_COMPONENT_PROPERTY(wsdl_operation, env, key, value) \
-		((wsdl_operation->ops)->set_component_property(wsdl_operation, env, key, value))
+#define AXIS2_WSDL_OPERATION_IS_SAFE(wsdl_operation, env) \
+		((wsdl_operation->ops)->is_safe(wsdl_operation, env))
 		
-#define AXIS2_WSDL_OPERATION_GET_COMPONENT_PROPERTY(wsdl_operation, env, key) \
-		((wsdl_operation->ops)->get_component_property(wsdl_operation, env, key))		
+#define AXIS2_WSDL_OPERATION_SET_SAFETY(wsdl_operation, env, safe) \
+		((wsdl_operation->ops)->set_safety(wsdl_operation, env, safe))
+        
+#define AXIS2_WSDL_OPERATION_GET_TARGET_NAMESPACE(wsdl_operation, env) \
+		((wsdl_operation->ops)->get_target_namespace(wsdl_operation, env))        
+
+#define AXIS2_WSDL_OPERATION_ADD_INFAULT(wsdl_operation, env, infault) \
+		((wsdl_operation->ops)->add_infault(wsdl_operation, env, infault))
 		
+#define AXIS2_WSDL_OPERATION_ADD_OUTFAULT(wsdl_operation, env, outfault) \
+		((wsdl_operation->ops)->add_outfault(wsdl_operation, env, outfault))
+
 /**************************** End of function macros **************************/
 
 /** @} */

Modified: webservices/axis2/trunk/c/include/axis2_wsdl_property.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/include/axis2_wsdl_property.h?rev=345818&r1=345817&r2=345818&view=diff
==============================================================================
--- webservices/axis2/trunk/c/include/axis2_wsdl_property.h (original)
+++ webservices/axis2/trunk/c/include/axis2_wsdl_property.h Sun Nov 20 19:19:08 2005
@@ -27,14 +27,15 @@
 #include <axis2_defines.h>
 #include <axis2_env.h>
 #include <axis2_allocator.h>
+#include <axis2_wsdl_component.h>
 
 #ifdef __cplusplus
 extern "C"
 {
 #endif
 
-typedef struct axis2_wsdl_property_s axis2_wsdl_property_t;
-typedef struct axis2_wsdl_property_ops_s axis2_wsdl_property_ops_t;
+typedef struct axis2_wsdl_property axis2_wsdl_property_t;
+typedef struct axis2_wsdl_property_ops axis2_wsdl_property_ops_t;
 
 /** @defgroup axis2_wsdl_property Wsdl Property
  * @ingroup axis2_wsdl
@@ -45,7 +46,7 @@
  * @brief Wsdl Property operations struct
  * Encapsulator struct for operations of axis2_wsdl_property
  */
-AXIS2_DECLARE_DATA struct axis2_wsdl_property_ops_s
+AXIS2_DECLARE_DATA struct axis2_wsdl_property_ops
 {
 	/** De-allocate memory
   	 * @return status code
@@ -119,9 +120,10 @@
  * @brief Wsdl container struct
  *	Property for params  
  */  
-AXIS2_DECLARE_DATA struct axis2_wsdl_property_s
+AXIS2_DECLARE_DATA struct axis2_wsdl_property
 {
 	axis2_wsdl_property_ops_t *ops;
+    axis2_wsdl_component_t *wsdl_component;
 };
 
 /**

Modified: webservices/axis2/trunk/c/include/axis2_wsdl_svc.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/include/axis2_wsdl_svc.h?rev=345818&r1=345817&r2=345818&view=diff
==============================================================================
--- webservices/axis2/trunk/c/include/axis2_wsdl_svc.h (original)
+++ webservices/axis2/trunk/c/include/axis2_wsdl_svc.h Sun Nov 20 19:19:08 2005
@@ -30,27 +30,33 @@
 #include <axis2_string.h>
 #include <axis2_hash.h>
 #include <axis2_qname.h>
-
+#include <axis2_wsdl_interface.h>
 #include <axis2_wsdl_component.h>
+#include <axis2_wsdl_endpoint.h>
 
 #ifdef __cplusplus
 extern "C"
 {
 #endif
-
-typedef struct axis2_wsdl_svc_ops_s axis2_wsdl_svc_ops_t;
-typedef struct axis2_wsdl_svc_s axis2_wsdl_svc_t;
 	
 /** @defgroup axis2_wsdl_svc Wsdl Service
   * @ingroup axis2_wsdl
   * @{
   */
 
+struct axis2_wsdl_endpoint; 
+struct axis2_wsdl_interface;    
+typedef struct axis2_wsdl_svc_ops axis2_wsdl_svc_ops_t;
+typedef struct axis2_wsdl_svc axis2_wsdl_svc_t;
+
+#define STYLE_RPC  "rpc"
+#define STYLE_DOC  "doc"
+#define STYLE_MSG  "msg"
 /** 
  * @brief Wsdl Service operations struct
  * Encapsulator struct for operations of axis2_wsdl_service
  */
-struct axis2_wsdl_svc_ops_s
+struct axis2_wsdl_svc_ops
 {
     /** Deallocate memory
      * @return status code
@@ -73,25 +79,74 @@
                                             axis2_env_t **env,
                                             axis2_qname_t *qname);
     
-    axis2_hash_t * (AXIS2_CALL *get_component_properties) (
-                                                    axis2_wsdl_svc_t *wsdl_svc,
-                                                    axis2_env_t **env);
-
-    axis2_status_t (AXIS2_CALL *set_component_properties) (
-                                                    axis2_wsdl_svc_t *wsdl_svc,
-                                                    axis2_env_t **env,
-                                                    axis2_hash_t *properties);
-
-    axis2_wsdl_component_t * (AXIS2_CALL *get_component_property) (
-                                                    axis2_wsdl_svc_t *wsdl_svc,
-                                                    axis2_env_t **env,
-                                                    const axis2_char_t *key);
-
-    axis2_status_t (AXIS2_CALL *set_component_property) (
-                                                    axis2_wsdl_svc_t *wsdl_svc,
-                                                    axis2_env_t **env,
-                                                    const void *key,
-                                                    void *value);
+    /**
+     * Method getEndpoints
+     *
+     * @return
+     */
+    axis2_hash_t *(AXIS2_CALL *
+    get_endpoints) (axis2_wsdl_svc_t *wsdl_svc,
+                                        axis2_env_t **env);
+    
+    /**
+     * Method setEndpoints
+     *
+     * @param endpoints
+     */
+    axis2_status_t (AXIS2_CALL *
+    set_endpoints) (axis2_wsdl_svc_t *wsdl_svc,
+                                    axis2_env_t **env,
+                                    axis2_hash_t *endpoints);
+    
+    /**
+     * Will add a WSDLEndpoint object to the WOM keyed with qname;
+     *
+     * @param endpoint
+     */
+    axis2_status_t (AXIS2_CALL *
+    set_endpoint) (axis2_wsdl_svc_t *wsdl_svc,
+                                    axis2_env_t **env,
+                                    struct axis2_wsdl_endpoint *endpoint);
+    
+    /**
+     * Endpoint will be retrived by its qname.
+     *
+     * @param qName qname of the Service
+     * @return <code>WSDLEndpoint</code> Object.
+     */
+    struct axis2_wsdl_endpoint * (AXIS2_CALL *
+    get_endpoint) (axis2_wsdl_svc_t *wsdl_svc,
+                                    axis2_env_t **env,
+                                    axis2_qname_t *qname);
+
+    /**
+     * If the Name of the <code>WSDLService</code> is not set a
+     * <code>WSDLProcessingException</code> will be thrown.
+     *
+     * @return Target Namespace as a <code>String</code>
+     */
+    axis2_char_t *(AXIS2_CALL *
+    get_namespace) (axis2_wsdl_svc_t *wsdl_svc,
+                                    axis2_env_t **env);
+
+    /**
+     * Method getServiceInterface
+     *
+     * @return
+     */
+    struct axis2_wsdl_interface * (AXIS2_CALL *
+    get_svc_interface) (axis2_wsdl_svc_t *wsdl_svc,
+                                        axis2_env_t **env);
+    
+    /**
+     * Method setServiceInterface
+     *
+     * @param svc_interface
+     */
+    axis2_status_t (AXIS2_CALL *
+    set_svc_interface) (axis2_wsdl_svc_t *wsdl_svc,
+                                        axis2_env_t **env,
+                                        struct axis2_wsdl_interface *svc_interface);
 
 };
 
@@ -99,10 +154,10 @@
  * @brief Wsdl Service struct
  * Axis2 Wsdl Service
  */
-struct axis2_wsdl_svc_s
+struct axis2_wsdl_svc
 {
 	axis2_wsdl_svc_ops_t *ops;
-    
+    axis2_wsdl_component_t * wsdl_component;
 };
 
 /** create Wsdl Service struct
@@ -122,19 +177,27 @@
 #define AXIS2_WSDL_SVC_SET_NAME(wsdl_svc, env, qname) \
         ((wsdl_svc->ops)->set_name (wsdl_svc, env, qname))
 
-#define AXIS2_WSDL_SVC_GET_COMPONENT_PROPERTIES(wsdl_svc, env) \
-        ((wsdl_svc->ops)->get_component_properties(wsdl_svc, env))
-
-#define AXIS2_WSDL_SVC_SET_COMPONENT_PROPERTIES(wsdl_svc, env, properties) \
-        ((wsdl_svc->ops)->set_component_properties(wsdl_svc, env, properties))
-
-#define AXIS2_WSDL_SVC_GET_COMPONENT_PROPERTY(wsdl_svc, env, key) \
-        ((wsdl_svc->ops)->get_component_property(wsdl_svc, env, key))
+#define AXIS2_WSDL_SVC_GET_ENDPOINTS(wsdl_svc, env) \
+        ((wsdl_svc->ops)->get_endpoints(wsdl_svc, env))
 
-#define AXIS2_WSDL_SVC_SET_COMPONENT_PROPERTY(wsdl_svc, env, key, value) \
-        ((wsdl_svc->ops)->set_component_property(wsdl_svc, env, key, value))
+#define AXIS2_WSDL_SVC_SET_ENDPOINTS(wsdl_svc, env, endpoints) \
+        ((wsdl_svc->ops)->set_endpoints(wsdl_svc, env, endpoints))
 
+#define AXIS2_WSDL_SVC_SET_ENDPOINT(wsdl_svc, env, endpoint) \
+        ((wsdl_svc->ops)->set_endpoint(wsdl_svc, env, endpoint))
 
+#define AXIS2_WSDL_SVC_GET_ENDPOINT(wsdl_svc, env) \
+        ((wsdl_svc->ops)->get_endpoint(wsdl_svc, env))
+
+#define AXIS2_WSDL_SVC_GET_NAMESPACE(wsdl_svc, env) \
+        ((wsdl_svc->ops)->get_namespace(wsdl_svc, env))
+        
+#define AXIS2_WSDL_SVC_GET_SVC_INTERFACE(wsdl_svc, env) \
+        ((wsdl_svc->ops)->get_svc_interface(wsdl_svc, env))        
+
+#define AXIS2_WSDL_SVC_SET_SVC_INTERFACE(wsdl_svc, env, svc_interface) \
+        ((wsdl_svc->ops)->set_svc_interface(wsdl_svc, env, svc_interface))
+        
 /**************************** End of function macros **************************/
 /** @} */
 #ifdef __cplusplus

Modified: webservices/axis2/trunk/c/modules/wsdl/src/Makefile.am
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/wsdl/src/Makefile.am?rev=345818&r1=345817&r2=345818&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/wsdl/src/Makefile.am (original)
+++ webservices/axis2/trunk/c/modules/wsdl/src/Makefile.am Sun Nov 20 19:19:08 2005
@@ -7,9 +7,16 @@
                         wsdl_property.c \
                         wsdl_extensible_component.c \
                         wsdl_interface.c \
-                        wsdl_binding_fault.c
+                        wsdl_binding_fault.c \
+                        wsdl_binding_msg_ref.c \
+                        wsdl_binding_operation.c \
+                        wsdl_binding.c \
+                        wsdl_msg_ref.c \
+                        wsdl_endpoint.c \
+                        wsdl_fault_ref.c
 
 libaxis2_wsdl_la_LIBADD = $(LDFLAGS)
 INCLUDES = -I$(top_builddir)/include \
             -I${CUTEST_HOME}/include \
-            -I$(top_builddir)/modules/util/src
+            -I$(top_builddir)/modules/util/src \
+            -I$(top_builddir)/modules/core/description/src

Modified: webservices/axis2/trunk/c/modules/wsdl/src/Makefile.in
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/wsdl/src/Makefile.in?rev=345818&r1=345817&r2=345818&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/wsdl/src/Makefile.in (original)
+++ webservices/axis2/trunk/c/modules/wsdl/src/Makefile.in Sun Nov 20 19:19:08 2005
@@ -65,7 +65,9 @@
 am_libaxis2_wsdl_la_OBJECTS = wsdl_operation.lo wsdl_svc.lo \
 	wsdl_component.lo wsdl_feature.lo wsdl_property.lo \
 	wsdl_extensible_component.lo wsdl_interface.lo \
-	wsdl_binding_fault.lo
+	wsdl_binding_fault.lo wsdl_binding_msg_ref.lo \
+	wsdl_binding_operation.lo wsdl_binding.lo wsdl_msg_ref.lo \
+	wsdl_endpoint.lo wsdl_fault_ref.lo
 libaxis2_wsdl_la_OBJECTS = $(am_libaxis2_wsdl_la_OBJECTS)
 DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
 depcomp = $(SHELL) $(top_srcdir)/conftools/depcomp
@@ -199,12 +201,19 @@
                         wsdl_property.c \
                         wsdl_extensible_component.c \
                         wsdl_interface.c \
-                        wsdl_binding_fault.c
+                        wsdl_binding_fault.c \
+                        wsdl_binding_msg_ref.c \
+                        wsdl_binding_operation.c \
+                        wsdl_binding.c \
+                        wsdl_msg_ref.c \
+                        wsdl_endpoint.c \
+                        wsdl_fault_ref.c
 
 libaxis2_wsdl_la_LIBADD = $(LDFLAGS)
 INCLUDES = -I$(top_builddir)/include \
             -I${CUTEST_HOME}/include \
-            -I$(top_builddir)/modules/util/src
+            -I$(top_builddir)/modules/util/src \
+            -I$(top_builddir)/modules/core/description/src
 
 all: all-am
 
@@ -275,11 +284,17 @@
 distclean-compile:
 	-rm -f *.tab.c
 
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/wsdl_binding.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/wsdl_binding_fault.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/wsdl_binding_msg_ref.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/wsdl_binding_operation.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/wsdl_component.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/wsdl_endpoint.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/wsdl_extensible_component.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/wsdl_fault_ref.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/wsdl_feature.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/wsdl_interface.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/wsdl_msg_ref.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/wsdl_operation.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/wsdl_property.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/wsdl_svc.Plo@am__quote@

Added: webservices/axis2/trunk/c/modules/wsdl/src/wsdl.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/wsdl/src/wsdl.h?rev=345818&view=auto
==============================================================================
--- webservices/axis2/trunk/c/modules/wsdl/src/wsdl.h (added)
+++ webservices/axis2/trunk/c/modules/wsdl/src/wsdl.h Sun Nov 20 19:19:08 2005
@@ -0,0 +1,151 @@
+/*
+ * Copyright 2004,2005 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ 
+#ifndef AXIS2_WSDL_H
+#define AXIS2_WSDL_H
+
+/**
+ * @file axis2_description.h
+ * @brief axis2 DESCRIPTION
+ */
+ 
+#include <axis2.h>
+
+#ifdef __cplusplus
+extern "C" 
+{
+#endif
+
+/*********************************** Constansts********************************/
+/**
+ * Field WSDL2_0_NAMESPACE
+ */
+#define WSDL2_0_NAMESPACE "http://www.w3.org/2004/03/wsdl"
+
+/**
+ * Field WSDL1_1_NAMESPACE
+ */
+#define WSDL1_1_NAMESPACE "http://schemas.xmlsoap.org/wsdl/"
+
+
+/**
+ * Field WSDL_MESSAGE_DIRECTION_IN
+ */
+#define WSDL_MESSAGE_DIRECTION_IN "in"
+
+
+/**
+ * Field WSDL_MESSAGE_DIRECTION_OUT
+ */
+#define WSDL_MESSAGE_DIRECTION_OUT "out"
+
+
+/*********************Message Exchange Pattern Constants***********************/
+
+
+/**
+ * Field MEP_URI_IN_ONLY
+ */
+#define MEP_URI_IN_ONLY "http://www.w3.org/2004/08/wsdl/in-only"
+
+#define MEP_CONSTANT_IN_ONLY 10
+
+/**
+ * Field MEP_URI_ROBUST_IN_ONLY
+ */
+#define MEP_URI_ROBUST_IN_ONLY "http://www.w3.org/2004/08/wsdl/robust-in-only"
+
+#define MEP_CONSTANT_ROBUST_IN_ONLY 11
+
+/**
+ * Field MEP_URI_IN_OUT
+ */
+#define MEP_URI_IN_OUT "http://www.w3.org/2004/08/wsdl/in-out"
+
+#define MEP_CONSTANT_IN_OUT 12
+
+/**
+ * Field MEP_URI_IN_OPTIONAL_OUT
+ */
+#define MEP_URI_IN_OPTIONAL_OUT "http://www.w3.org/2004/08/wsdl/in-opt-out"
+
+#define MEP_CONSTANT_IN_OPTIONAL_OUT 13
+
+/**
+ * Field MEP_URI_OUT_ONLY
+ */
+#define MEP_URI_OUT_ONLY "http://www.w3.org/2004/08/wsdl/out-only"
+
+#define MEP_CONSTANT_OUT_ONLY 14
+
+/**
+ * Field MEP_URI_ROBUST_OUT_ONLY
+ */
+#define MEP_URI_ROBUST_OUT_ONLY "http://www.w3.org/2004/08/wsdl/robust-out-only"
+
+#define MEP_CONSTANT_ROBUST_OUT_ONLY 15
+
+/**
+ * Field MEP_URI_OUT_IN
+ */
+#define MEP_URI_OUT_IN "http://www.w3.org/2004/08/wsdl/out-in"
+
+#define MEP_CONSTANT_OUT_IN 16
+
+/**
+ * Field MEP_URI_OUT_OPTIONL_IN
+ */
+#define MEP_URI_OUT_OPTIONAL_IN "http://www.w3.org/2004/08/wsdl/out-opt-in"
+
+#define MEP_CONSTANT_OUT_OPTIONAL_IN 17
+
+
+#define MEP_CONSTANT_INVALID -1
+
+/******************************Message Labels**********************************/
+
+/**
+ * Constant to represent the message label "In" which is used by the
+ * following WSDL 2.0 defined MEPs: In-Only, Robust In-Only, In-Out,
+ * In-Optional-Out, Out-In, Out-Optional-In.
+ */
+#define MESSAGE_LABEL_IN 0
+
+#define MESSAGE_LABEL_IN_VALUE "In"
+
+/**
+ * Constant to represent the message label "Out" which is used by the
+ * following WSDL 2.0 defined MEPs: In-Out, In-Optional-Out, Out-Only,
+ * Robust Out-Only, Out-In, Out-Optional-In.
+ */
+#define MESSAGE_LABEL_OUT 1
+
+#define MESSAGE_LABEL_OUT_VALUE "Out"
+
+/**
+ *
+ */
+#define WSDL_USE_LITERAL "literal"
+#define WSDL_USE_ENCODED "encoded"
+
+/*********************************** Constants*********************************/	
+	
+	
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* AXIS2_WSDL_H */

Added: webservices/axis2/trunk/c/modules/wsdl/src/wsdl_binding.c
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/wsdl/src/wsdl_binding.c?rev=345818&view=auto
==============================================================================
--- webservices/axis2/trunk/c/modules/wsdl/src/wsdl_binding.c (added)
+++ webservices/axis2/trunk/c/modules/wsdl/src/wsdl_binding.c Sun Nov 20 19:19:08 2005
@@ -0,0 +1,384 @@
+/*
+ * Copyright 2004,2005 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ 
+#include <axis2_wsdl_binding.h>
+
+/** 
+ * @brief Wsdl binding struct impl
+ *	Wsdl features  
+ */ 
+typedef struct axis2_wsdl_binding_impl
+{
+	axis2_wsdl_binding_t wsdl_binding;
+    
+    /**
+     * Field name
+     */
+    axis2_qname_t *qname;
+
+    /**
+     * Field boundInterface
+     */
+    struct axis2_wsdl_interface *bound_interface;
+
+    /**
+     * Field bindingFaults
+     */
+    axis2_hash_t *binding_faults;
+
+    /**
+     * Field bindingOperations
+     */
+    axis2_hash_t *binding_operations;
+    
+} axis2_wsdl_binding_impl_t;
+
+#define AXIS2_INTF_TO_IMPL(wsdl_binding) \
+		((axis2_wsdl_binding_impl_t *)wsdl_binding)
+
+/************************* Function prototypes ********************************/
+
+axis2_status_t AXIS2_CALL
+	axis2_wsdl_binding_free (axis2_wsdl_binding_t *wsdl_binding,
+									axis2_env_t **env);
+
+
+struct axis2_wsdl_interface * AXIS2_CALL
+axis2_wsdl_binding_get_bound_interface(axis2_wsdl_binding_t *wsdl_binding,
+                                        axis2_env_t **env);
+
+axis2_status_t AXIS2_CALL
+axis2_wsdl_binding_set_bound_interface(axis2_wsdl_binding_t *wsdl_binding,
+                                        axis2_env_t **env,
+                                        struct axis2_wsdl_interface *bound_interface);
+
+axis2_qname_t * AXIS2_CALL
+axis2_wsdl_binding_get_name(axis2_wsdl_binding_t *wsdl_binding,
+                            axis2_env_t **env);
+
+axis2_status_t AXIS2_CALL
+axis2_wsdl_binding_set_name(axis2_wsdl_binding_t *wsdl_binding,
+                            axis2_env_t **env,
+                            axis2_qname_t *qname);
+
+axis2_char_t * AXIS2_CALL 
+axis2_wsdl_binding_get_target_namespace(axis2_wsdl_binding_t *wsdl_binding,
+                                            axis2_env_t **env);
+
+axis2_hash_t * AXIS2_CALL
+axis2_wsdl_binding_get_binding_faults(axis2_wsdl_binding_t *wsdl_binding,
+                                        axis2_env_t **env);
+
+axis2_status_t AXIS2_CALL
+axis2_wsdl_binding_set_binding_faults(axis2_wsdl_binding_t *wsdl_binding,
+                                        axis2_env_t **env,
+                                        axis2_hash_t *binding_faults);
+
+axis2_hash_t * AXIS2_CALL
+axis2_wsdl_binding_get_binding_operations(axis2_wsdl_binding_t *wsdl_binding,
+                                            axis2_env_t **env);
+
+axis2_status_t AXIS2_CALL
+axis2_wsdl_binding_set_binding_operations(axis2_wsdl_binding_t *wsdl_binding,
+                                            axis2_env_t **env,
+                                            axis2_hash_t *binding_operations);
+
+axis2_status_t AXIS2_CALL
+axis2_wsdl_binding_add_binding_operation(axis2_wsdl_binding_t *wsdl_binding,
+                                            axis2_env_t **env,
+                                            struct axis2_wsdl_binding_operation *binding_operation);
+
+struct axis2_wsdl_binding_operation *AXIS2_CALL
+axis2_wsdl_binding_get_binding_operation(axis2_wsdl_binding_t *wsdl_binding,
+                                            axis2_env_t **env,
+                                            axis2_qname_t *qName);
+
+axis2_status_t AXIS2_CALL
+axis2_wsdl_binding_add_binding_fault(axis2_wsdl_binding_t *wsdl_binding,
+                                        axis2_env_t **env,
+                                        axis2_wsdl_binding_fault_t *binding_fault);
+
+axis2_wsdl_binding_fault_t * AXIS2_CALL
+axis2_wsdl_binding_get_binding_fault(axis2_wsdl_binding_t *wsdl_binding,
+                                        axis2_env_t **env,
+                                        axis2_qname_t *ref);
+                                
+/************************** End of function prototypes ************************/
+
+axis2_wsdl_binding_t * AXIS2_CALL 
+axis2_wsdl_binding_create (axis2_env_t **env)
+{
+	AXIS2_ENV_CHECK(env, NULL);
+	
+	axis2_wsdl_binding_impl_t *wsdl_binding_impl = 
+		(axis2_wsdl_binding_impl_t *) AXIS2_MALLOC((*env)->allocator,
+			sizeof(axis2_wsdl_binding_impl_t));
+	
+	
+	if(NULL == wsdl_binding_impl)
+        AXIS2_ERROR_SET((*env)->error, AXIS2_ERROR_NO_MEMORY, NULL); 
+	
+    
+    wsdl_binding_impl->binding_operations = axis2_hash_make(env);
+    if(NULL == wsdl_binding_impl->binding_operations)
+    {
+        AXIS2_FREE((*env)->allocator, wsdl_binding_impl);
+        AXIS2_ERROR_SET((*env)->error, AXIS2_ERROR_NO_MEMORY, NULL);
+    }
+    
+    wsdl_binding_impl->binding_faults = axis2_hash_make(env);
+    if(NULL == wsdl_binding_impl->binding_faults)
+    {
+        axis2_hash_free(wsdl_binding_impl->binding_operations, env);
+        AXIS2_FREE((*env)->allocator, wsdl_binding_impl);
+        AXIS2_ERROR_SET((*env)->error, AXIS2_ERROR_NO_MEMORY, NULL);
+    }
+    
+    wsdl_binding_impl->wsdl_binding.extensible_component = axis2_wsdl_extensible_component_create(env);
+    if(NULL == wsdl_binding_impl->wsdl_binding.extensible_component)
+    {
+        axis2_hash_free(wsdl_binding_impl->binding_operations, env);
+        axis2_hash_free(wsdl_binding_impl->binding_faults, env);
+        AXIS2_FREE((*env)->allocator, wsdl_binding_impl);
+        AXIS2_ERROR_SET((*env)->error, AXIS2_ERROR_NO_MEMORY, NULL);
+    }
+    
+	wsdl_binding_impl->wsdl_binding.ops = 
+		AXIS2_MALLOC ((*env)->allocator, sizeof(axis2_wsdl_binding_ops_t));
+	if(NULL == wsdl_binding_impl->wsdl_binding.ops)
+    {
+        AXIS2_WSDL_EXTENSIBLE_COMPONENT_FREE(wsdl_binding_impl->wsdl_binding.extensible_component, env);
+        axis2_hash_free(wsdl_binding_impl->binding_operations,env);
+        axis2_hash_free(wsdl_binding_impl->binding_faults, env);
+        AXIS2_FREE((*env)->allocator, wsdl_binding_impl);
+		AXIS2_ERROR_SET((*env)->error, AXIS2_ERROR_NO_MEMORY, NULL);
+    }
+    
+	wsdl_binding_impl->wsdl_binding.ops->free =  axis2_wsdl_binding_free;
+    
+	wsdl_binding_impl->wsdl_binding.ops->get_bound_interface = 
+        axis2_wsdl_binding_get_bound_interface;
+    
+    wsdl_binding_impl->wsdl_binding.ops->set_bound_interface = 
+        axis2_wsdl_binding_set_bound_interface;
+    
+	wsdl_binding_impl->wsdl_binding.ops->get_name = 
+        axis2_wsdl_binding_get_name;
+    
+    wsdl_binding_impl->wsdl_binding.ops->set_name = 
+        axis2_wsdl_binding_set_name;
+    
+    wsdl_binding_impl->wsdl_binding.ops->get_target_namespace = 
+        axis2_wsdl_binding_get_target_namespace;
+    
+    wsdl_binding_impl->wsdl_binding.ops->get_binding_faults = 
+        axis2_wsdl_binding_get_binding_faults;
+	
+    wsdl_binding_impl->wsdl_binding.ops->set_binding_faults = 
+        axis2_wsdl_binding_set_binding_faults;
+        
+    wsdl_binding_impl->wsdl_binding.ops->get_binding_operations = 
+        axis2_wsdl_binding_get_binding_operations;
+
+    wsdl_binding_impl->wsdl_binding.ops->set_binding_operations = 
+        axis2_wsdl_binding_set_binding_operations;
+        
+    wsdl_binding_impl->wsdl_binding.ops->add_binding_operation = 
+        axis2_wsdl_binding_add_binding_operation;
+        
+    wsdl_binding_impl->wsdl_binding.ops->get_binding_operation = 
+        axis2_wsdl_binding_get_binding_operation;
+        
+    wsdl_binding_impl->wsdl_binding.ops->add_binding_fault = 
+        axis2_wsdl_binding_add_binding_fault;
+        
+    wsdl_binding_impl->wsdl_binding.ops->get_binding_fault = 
+        axis2_wsdl_binding_get_binding_fault;        
+        
+	wsdl_binding_impl->qname = NULL;
+	
+	return &(wsdl_binding_impl->wsdl_binding);
+}
+
+/***************************Function implementation****************************/
+
+axis2_status_t AXIS2_CALL 
+axis2_wsdl_binding_free (axis2_wsdl_binding_t *wsdl_binding, 
+                            axis2_env_t **env)
+{
+    AXIS2_FUNC_PARAM_CHECK(wsdl_binding, env, AXIS2_FAILURE);
+	if(NULL != wsdl_binding->ops)
+        AXIS2_FREE((*env)->allocator, wsdl_binding->ops);
+    
+    if(NULL != AXIS2_INTF_TO_IMPL(wsdl_binding)->qname)
+    {
+        AXIS2_QNAME_FREE(AXIS2_INTF_TO_IMPL(wsdl_binding)->qname, env);
+    }
+    
+    if(NULL != AXIS2_INTF_TO_IMPL(wsdl_binding)->bound_interface)
+        AXIS2_WSDL_INTERFACE_FREE(AXIS2_INTF_TO_IMPL(wsdl_binding)->
+            bound_interface, env);
+    
+    if(NULL != AXIS2_INTF_TO_IMPL(wsdl_binding)->binding_faults)
+        axis2_hash_free(AXIS2_INTF_TO_IMPL(wsdl_binding)->binding_faults, env);
+    
+    if(NULL != AXIS2_INTF_TO_IMPL(wsdl_binding)->binding_operations)
+        axis2_hash_free(AXIS2_INTF_TO_IMPL(wsdl_binding)->binding_operations, env);
+    
+    if(NULL != wsdl_binding->extensible_component)
+        AXIS2_WSDL_EXTENSIBLE_COMPONENT_FREE(wsdl_binding->
+            extensible_component, env);
+    
+    AXIS2_FREE((*env)->allocator, AXIS2_INTF_TO_IMPL(wsdl_binding));
+    
+	return AXIS2_SUCCESS;
+}
+
+struct axis2_wsdl_interface * AXIS2_CALL
+axis2_wsdl_binding_get_bound_interface(axis2_wsdl_binding_t *wsdl_binding,
+                                        axis2_env_t **env) 
+{
+    AXIS2_FUNC_PARAM_CHECK(wsdl_binding, env, NULL);
+    return AXIS2_INTF_TO_IMPL(wsdl_binding)->bound_interface;
+}
+
+axis2_status_t AXIS2_CALL
+axis2_wsdl_binding_set_bound_interface(axis2_wsdl_binding_t *wsdl_binding,
+                                        axis2_env_t **env,
+                                        struct axis2_wsdl_interface *bound_interface) 
+{ 
+    AXIS2_FUNC_PARAM_CHECK(wsdl_binding, env, AXIS2_FAILURE);
+    AXIS2_PARAM_CHECK((*env)->error, bound_interface, AXIS2_FAILURE);
+    AXIS2_INTF_TO_IMPL(wsdl_binding)->bound_interface = bound_interface;
+    return AXIS2_SUCCESS;
+}
+
+axis2_qname_t * AXIS2_CALL
+axis2_wsdl_binding_get_name(axis2_wsdl_binding_t *wsdl_binding,
+                            axis2_env_t **env) 
+{
+    AXIS2_FUNC_PARAM_CHECK(wsdl_binding, env, AXIS2_FAILURE);
+    return AXIS2_INTF_TO_IMPL(wsdl_binding)->qname;
+}
+
+axis2_status_t AXIS2_CALL
+axis2_wsdl_binding_set_name(axis2_wsdl_binding_t *wsdl_binding,
+                            axis2_env_t **env,
+                            axis2_qname_t *qname) 
+{
+    AXIS2_FUNC_PARAM_CHECK(wsdl_binding, env, AXIS2_FAILURE);
+    AXIS2_PARAM_CHECK((*env)->error, qname, AXIS2_FAILURE);
+    AXIS2_INTF_TO_IMPL(wsdl_binding)->qname = qname;
+    return AXIS2_SUCCESS;
+}
+
+axis2_char_t * AXIS2_CALL 
+axis2_wsdl_binding_get_target_namespace(axis2_wsdl_binding_t *wsdl_binding,
+                                            axis2_env_t **env) 
+{
+    AXIS2_FUNC_PARAM_CHECK(wsdl_binding, env, NULL);
+    return AXIS2_QNAME_GET_URI(AXIS2_INTF_TO_IMPL(wsdl_binding)->qname, env);
+}
+
+axis2_hash_t * AXIS2_CALL
+axis2_wsdl_binding_get_binding_faults(axis2_wsdl_binding_t *wsdl_binding,
+                                        axis2_env_t **env) 
+{
+    AXIS2_FUNC_PARAM_CHECK(wsdl_binding, env, NULL);
+    return AXIS2_INTF_TO_IMPL(wsdl_binding)->binding_faults;
+}
+
+axis2_status_t AXIS2_CALL
+axis2_wsdl_binding_set_binding_faults(axis2_wsdl_binding_t *wsdl_binding,
+                                        axis2_env_t **env,
+                                        axis2_hash_t *binding_faults) 
+{
+    AXIS2_FUNC_PARAM_CHECK(wsdl_binding, env, AXIS2_FAILURE);
+    AXIS2_PARAM_CHECK((*env)->error, binding_faults, AXIS2_FAILURE);
+    AXIS2_INTF_TO_IMPL(wsdl_binding)->binding_faults = binding_faults;
+    return AXIS2_SUCCESS;
+}
+
+axis2_hash_t * AXIS2_CALL
+axis2_wsdl_binding_get_binding_operations(axis2_wsdl_binding_t *wsdl_binding,
+                                            axis2_env_t **env) 
+{
+    AXIS2_FUNC_PARAM_CHECK(wsdl_binding, env, NULL);
+    return AXIS2_INTF_TO_IMPL(wsdl_binding)->binding_operations;
+}
+
+axis2_status_t AXIS2_CALL
+axis2_wsdl_binding_set_binding_operations(axis2_wsdl_binding_t *wsdl_binding,
+                                            axis2_env_t **env,
+                                            axis2_hash_t *binding_operations) 
+{
+    AXIS2_FUNC_PARAM_CHECK(wsdl_binding, env, AXIS2_FAILURE);
+    AXIS2_PARAM_CHECK((*env)->error, binding_operations, AXIS2_FAILURE);
+    AXIS2_INTF_TO_IMPL(wsdl_binding)->binding_operations = binding_operations;
+    return AXIS2_SUCCESS;
+}
+
+axis2_status_t AXIS2_CALL
+axis2_wsdl_binding_add_binding_operation(axis2_wsdl_binding_t *wsdl_binding,
+                                            axis2_env_t **env,
+                                            struct axis2_wsdl_binding_operation *binding_operation) 
+{
+    AXIS2_FUNC_PARAM_CHECK(wsdl_binding, env, AXIS2_FAILURE);
+    AXIS2_PARAM_CHECK((*env)->error, binding_operation, AXIS2_FAILURE);
+    
+    axis2_hash_set(AXIS2_INTF_TO_IMPL(wsdl_binding)->binding_operations,
+        AXIS2_WSDL_BINDING_OPERATION_GET_QNAME(binding_operation, env),
+            sizeof(axis2_qname_t), binding_operation);
+    
+    return AXIS2_SUCCESS;
+}
+
+struct axis2_wsdl_binding_operation *AXIS2_CALL
+axis2_wsdl_binding_get_binding_operation(axis2_wsdl_binding_t *wsdl_binding,
+                                            axis2_env_t **env,
+                                            axis2_qname_t *qName) 
+{
+    AXIS2_FUNC_PARAM_CHECK(wsdl_binding, env, NULL);
+    return (struct axis2_wsdl_binding_operation *) axis2_hash_get(
+        AXIS2_INTF_TO_IMPL(wsdl_binding)->binding_operations, qName,
+            sizeof(axis2_qname_t));
+}
+
+axis2_status_t AXIS2_CALL
+axis2_wsdl_binding_add_binding_fault(axis2_wsdl_binding_t *wsdl_binding,
+                                        axis2_env_t **env,
+                                        axis2_wsdl_binding_fault_t *binding_fault) 
+{
+    AXIS2_FUNC_PARAM_CHECK(wsdl_binding, env, AXIS2_FAILURE);
+    AXIS2_PARAM_CHECK((*env)->error, binding_fault, AXIS2_FAILURE);
+    
+    axis2_hash_set(AXIS2_INTF_TO_IMPL(wsdl_binding)->binding_faults,
+        AXIS2_WSDL_BINDING_FAULT_GET_REF(binding_fault, env), sizeof(axis2_qname_t),
+        binding_fault);
+    return AXIS2_SUCCESS;
+}
+
+axis2_wsdl_binding_fault_t * AXIS2_CALL
+axis2_wsdl_binding_get_binding_fault(axis2_wsdl_binding_t *wsdl_binding,
+                                        axis2_env_t **env,
+                                        axis2_qname_t *ref) 
+{
+    AXIS2_FUNC_PARAM_CHECK(wsdl_binding, env, NULL);
+    AXIS2_PARAM_CHECK((*env)->error, ref, NULL);
+    
+    return (axis2_wsdl_binding_fault_t *) axis2_hash_get(
+        AXIS2_INTF_TO_IMPL(wsdl_binding)->binding_faults, ref, sizeof(axis2_qname_t));
+}

Modified: webservices/axis2/trunk/c/modules/wsdl/src/wsdl_binding_fault.c
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/wsdl/src/wsdl_binding_fault.c?rev=345818&r1=345817&r2=345818&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/wsdl/src/wsdl_binding_fault.c (original)
+++ webservices/axis2/trunk/c/modules/wsdl/src/wsdl_binding_fault.c Sun Nov 20 19:19:08 2005
@@ -20,50 +20,60 @@
  * @brief Wsdl Binding Fault struct impl
  *	Wsdl Binding Fault  
  */ 
-typedef struct axis2_binding_fault_impl_s
+typedef struct axis2_wsdl_binding_fault_impl
 {
-	axis2_binding_fault_t binding_fault;
+	axis2_wsdl_binding_fault_t binding_fault;
+    
     /**
      * Field ref
      */
     axis2_qname_t *ref;
     
-} axis2_binding_fault_impl_t;
+} axis2_wsdl_binding_fault_impl_t;
 
 #define AXIS2_INTF_TO_IMPL(binding_fault) \
-		((axis2_binding_fault_impl_t *)binding_fault)
+		((axis2_wsdl_binding_fault_impl_t *)binding_fault)
 
 /************************* Function prototypes ********************************/
 
 axis2_status_t AXIS2_CALL
-	axis2_binding_fault_free (axis2_binding_fault_t *binding_fault,
+	axis2_binding_fault_free (axis2_wsdl_binding_fault_t *binding_fault,
 									axis2_env_t **env);
 axis2_qname_t *AXIS2_CALL
-axis2_binding_fault_get_ref(axis2_binding_fault_t *binding_fault,
+axis2_binding_fault_get_ref(axis2_wsdl_binding_fault_t *binding_fault,
                             axis2_env_t **env);
 
 axis2_status_t AXIS2_CALL
-axis2_binding_fault_set_ref(axis2_binding_fault_t *binding_fault,
+axis2_binding_fault_set_ref(axis2_wsdl_binding_fault_t *binding_fault,
                             axis2_env_t **env,
                             axis2_qname_t *ref);
                                 
 /************************** End of function prototypes ************************/
 
-axis2_binding_fault_t * AXIS2_CALL 
+axis2_wsdl_binding_fault_t * AXIS2_CALL 
 axis2_binding_fault_create (axis2_env_t **env)
 {
 	AXIS2_ENV_CHECK(env, NULL);
 	
-	axis2_binding_fault_impl_t *binding_fault_impl = 
-		(axis2_binding_fault_impl_t *) AXIS2_MALLOC((*env)->allocator,
-			sizeof(axis2_binding_fault_impl_t));
+	axis2_wsdl_binding_fault_impl_t *binding_fault_impl = 
+		(axis2_wsdl_binding_fault_impl_t *) AXIS2_MALLOC((*env)->allocator,
+			sizeof(axis2_wsdl_binding_fault_impl_t));
 	
 	
 	if(NULL == binding_fault_impl)
         AXIS2_ERROR_SET((*env)->error, AXIS2_ERROR_NO_MEMORY, NULL); 
 	
+    binding_fault_impl->binding_fault.extensible_component = 
+        axis2_wsdl_extensible_component_create(env);
+ 
+    if(NULL == binding_fault_impl->binding_fault.extensible_component)
+    {
+        AXIS2_FREE((*env)->allocator, binding_fault_impl);
+		AXIS2_ERROR_SET((*env)->error, AXIS2_ERROR_NO_MEMORY, NULL);
+    }
+    
 	binding_fault_impl->binding_fault.ops = 
-		AXIS2_MALLOC ((*env)->allocator, sizeof(axis2_binding_fault_ops_t));
+		AXIS2_MALLOC ((*env)->allocator, sizeof(axis2_wsdl_binding_fault_ops_t));
 	if(NULL == binding_fault_impl->binding_fault.ops)
     {
         AXIS2_FREE((*env)->allocator, binding_fault_impl);
@@ -86,7 +96,7 @@
 /***************************Function implementation****************************/
 
 axis2_status_t AXIS2_CALL 
-axis2_binding_fault_free (axis2_binding_fault_t *binding_fault, 
+axis2_binding_fault_free (axis2_wsdl_binding_fault_t *binding_fault, 
                             axis2_env_t **env)
 {
     AXIS2_FUNC_PARAM_CHECK(binding_fault, env, AXIS2_FAILURE);
@@ -98,6 +108,10 @@
         AXIS2_QNAME_FREE(AXIS2_INTF_TO_IMPL(binding_fault)->ref, env);
     }
     
+    if(NULL != binding_fault->extensible_component)
+        AXIS2_WSDL_EXTENSIBLE_COMPONENT_FREE(binding_fault->
+            extensible_component, env);
+    
     AXIS2_FREE((*env)->allocator, AXIS2_INTF_TO_IMPL(binding_fault));
     
 	return AXIS2_SUCCESS;
@@ -110,7 +124,7 @@
  * @return
  */
 axis2_qname_t *AXIS2_CALL
-axis2_binding_fault_get_ref(axis2_binding_fault_t *binding_fault,
+axis2_binding_fault_get_ref(axis2_wsdl_binding_fault_t *binding_fault,
                             axis2_env_t **env) 
 {
     AXIS2_FUNC_PARAM_CHECK(binding_fault, env, NULL);
@@ -123,7 +137,7 @@
  * @param ref
  */
 axis2_status_t AXIS2_CALL
-axis2_binding_fault_set_ref(axis2_binding_fault_t *binding_fault,
+axis2_binding_fault_set_ref(axis2_wsdl_binding_fault_t *binding_fault,
                             axis2_env_t **env,
                             axis2_qname_t *ref) 
 {

Added: webservices/axis2/trunk/c/modules/wsdl/src/wsdl_binding_msg_ref.c
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/wsdl/src/wsdl_binding_msg_ref.c?rev=345818&view=auto
==============================================================================
--- webservices/axis2/trunk/c/modules/wsdl/src/wsdl_binding_msg_ref.c (added)
+++ webservices/axis2/trunk/c/modules/wsdl/src/wsdl_binding_msg_ref.c Sun Nov 20 19:19:08 2005
@@ -0,0 +1,187 @@
+/*
+ * Copyright 2004,2005 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ 
+#include <axis2_wsdl_binding_msg_ref.h>
+
+/** 
+ * @brief Wsdl Binding Message Reference struct impl
+ * Referes to the MEP the Message relates to.  
+ */ 
+typedef struct axis2_wsdl_binding_msg_ref_impl
+{
+	axis2_wsdl_binding_msg_ref_t binding_msg_ref;
+    
+    /**
+     * Field messageLabel
+     */
+    axis2_char_t *msg_label;
+    
+    /**
+     * Field Direction
+     * Can be "in" or "out" depending on the element name being "input" or
+     * "output" respectively;
+     */
+    axis2_char_t *direction;
+    
+} axis2_wsdl_binding_msg_ref_impl_t;
+
+#define AXIS2_INTF_TO_IMPL(binding_msg_ref) \
+		((axis2_wsdl_binding_msg_ref_impl_t *)binding_msg_ref)
+
+/************************* Function prototypes ********************************/
+
+axis2_status_t AXIS2_CALL
+	axis2_wsdl_binding_msg_ref_free (axis2_wsdl_binding_msg_ref_t *binding_msg_ref,
+									axis2_env_t **env);
+
+axis2_char_t * AXIS2_CALL
+axis2_wsdl_binding_msg_ref_get_direction(axis2_wsdl_binding_msg_ref_t *binding_msg_ref,
+                                            axis2_env_t **env);
+
+axis2_status_t AXIS2_CALL 
+axis2_wsdl_binding_msg_ref_set_direction(axis2_wsdl_binding_msg_ref_t *binding_msg_ref,
+                                            axis2_env_t **env,
+                                            axis2_char_t *direction);
+
+axis2_char_t * AXIS2_CALL
+axis2_wsdl_binding_msg_ref_get_msg_label(axis2_wsdl_binding_msg_ref_t *binding_msg_ref,
+                                            axis2_env_t **env);
+
+axis2_status_t AXIS2_CALL
+axis2_wsdl_binding_msg_ref_set_msg_label(axis2_wsdl_binding_msg_ref_t *binding_msg_ref,
+                                            axis2_env_t **env,
+                                            axis2_char_t *msg_label);
+
+/************************** End of function prototypes ************************/
+
+axis2_wsdl_binding_msg_ref_t * AXIS2_CALL 
+axis2_wsdl_binding_msg_ref_create (axis2_env_t **env)
+{
+	AXIS2_ENV_CHECK(env, NULL);
+	
+	axis2_wsdl_binding_msg_ref_impl_t *binding_msg_ref_impl = 
+		(axis2_wsdl_binding_msg_ref_impl_t *) AXIS2_MALLOC((*env)->allocator,
+			sizeof(axis2_wsdl_binding_msg_ref_impl_t));
+	
+	
+	if(NULL == binding_msg_ref_impl)
+        AXIS2_ERROR_SET((*env)->error, AXIS2_ERROR_NO_MEMORY, NULL); 
+    	
+    binding_msg_ref_impl->binding_msg_ref.extensible_component = 
+        axis2_wsdl_extensible_component_create(env);
+ 
+    if(NULL == binding_msg_ref_impl->binding_msg_ref.extensible_component)
+    {
+        AXIS2_FREE((*env)->allocator, binding_msg_ref_impl);
+		AXIS2_ERROR_SET((*env)->error, AXIS2_ERROR_NO_MEMORY, NULL);
+    }
+    
+	binding_msg_ref_impl->binding_msg_ref.ops = 
+		AXIS2_MALLOC ((*env)->allocator, sizeof(axis2_wsdl_binding_msg_ref_ops_t));
+	if(NULL == binding_msg_ref_impl->binding_msg_ref.ops)
+    {
+        AXIS2_WSDL_EXTENSIBLE_COMPONENT_FREE(binding_msg_ref_impl->binding_msg_ref.
+            extensible_component, env);
+        AXIS2_FREE((*env)->allocator, binding_msg_ref_impl);
+		AXIS2_ERROR_SET((*env)->error, AXIS2_ERROR_NO_MEMORY, NULL);
+    }
+    
+	binding_msg_ref_impl->binding_msg_ref.ops->free =  axis2_wsdl_binding_msg_ref_free;
+    
+	binding_msg_ref_impl->binding_msg_ref.ops->get_direction =  
+        axis2_wsdl_binding_msg_ref_get_direction;
+    
+	binding_msg_ref_impl->binding_msg_ref.ops->set_direction =  
+        axis2_wsdl_binding_msg_ref_set_direction;
+    
+    binding_msg_ref_impl->binding_msg_ref.ops->get_msg_label =  
+        axis2_wsdl_binding_msg_ref_get_msg_label;
+    
+	binding_msg_ref_impl->binding_msg_ref.ops->set_msg_label =  
+        axis2_wsdl_binding_msg_ref_set_msg_label;
+	
+	binding_msg_ref_impl->msg_label = NULL;
+    binding_msg_ref_impl->direction = NULL;
+    
+	return &(binding_msg_ref_impl->binding_msg_ref);
+}
+
+/***************************Function implementation****************************/
+
+axis2_status_t AXIS2_CALL 
+axis2_wsdl_binding_msg_ref_free (axis2_wsdl_binding_msg_ref_t *binding_msg_ref, 
+                            axis2_env_t **env)
+{
+    AXIS2_FUNC_PARAM_CHECK(binding_msg_ref, env, AXIS2_FAILURE);
+	if(NULL != binding_msg_ref->ops)
+        AXIS2_FREE((*env)->allocator, binding_msg_ref->ops);
+    
+    if(NULL != AXIS2_INTF_TO_IMPL(binding_msg_ref)->msg_label)
+    {
+        AXIS2_FREE((*env)->allocator, AXIS2_INTF_TO_IMPL(binding_msg_ref)->msg_label);
+    }
+    
+    if(NULL != AXIS2_INTF_TO_IMPL(binding_msg_ref)->msg_label)
+    {
+        AXIS2_FREE((*env)->allocator, AXIS2_INTF_TO_IMPL(binding_msg_ref)->msg_label);
+    }
+    
+    if(NULL != binding_msg_ref->extensible_component)
+        AXIS2_WSDL_EXTENSIBLE_COMPONENT_FREE(binding_msg_ref->
+            extensible_component, env);
+    
+    AXIS2_FREE((*env)->allocator, AXIS2_INTF_TO_IMPL(binding_msg_ref));
+    
+	return AXIS2_SUCCESS;
+}
+
+axis2_char_t * AXIS2_CALL
+axis2_wsdl_binding_msg_ref_get_direction(axis2_wsdl_binding_msg_ref_t *binding_msg_ref,
+                                            axis2_env_t **env) 
+{
+    AXIS2_FUNC_PARAM_CHECK(binding_msg_ref, env, NULL);
+    return AXIS2_INTF_TO_IMPL(binding_msg_ref)->direction;
+}
+
+axis2_status_t AXIS2_CALL 
+axis2_wsdl_binding_msg_ref_set_direction(axis2_wsdl_binding_msg_ref_t *binding_msg_ref,
+                                            axis2_env_t **env,
+                                            axis2_char_t *direction) 
+{
+    AXIS2_FUNC_PARAM_CHECK(binding_msg_ref, env, AXIS2_FAILURE);
+    AXIS2_PARAM_CHECK((*env)->error, direction, AXIS2_FAILURE);
+    AXIS2_INTF_TO_IMPL(binding_msg_ref)->direction = direction;
+    return AXIS2_SUCCESS;
+}
+
+axis2_char_t * AXIS2_CALL
+axis2_wsdl_binding_msg_ref_get_msg_label(axis2_wsdl_binding_msg_ref_t *binding_msg_ref,
+                                            axis2_env_t **env) 
+{
+    AXIS2_FUNC_PARAM_CHECK(binding_msg_ref, env, NULL);
+    return AXIS2_INTF_TO_IMPL(binding_msg_ref)->msg_label;
+}
+
+axis2_status_t AXIS2_CALL
+axis2_wsdl_binding_msg_ref_set_msg_label(axis2_wsdl_binding_msg_ref_t *binding_msg_ref,
+                                            axis2_env_t **env,
+                                            axis2_char_t *msg_label) 
+{
+    AXIS2_FUNC_PARAM_CHECK(binding_msg_ref, env, AXIS2_FAILURE);
+    AXIS2_PARAM_CHECK((*env)->error, msg_label, AXIS2_FAILURE);
+    AXIS2_INTF_TO_IMPL(binding_msg_ref)->msg_label = msg_label;
+    return AXIS2_SUCCESS;
+}

Added: webservices/axis2/trunk/c/modules/wsdl/src/wsdl_binding_operation.c
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/wsdl/src/wsdl_binding_operation.c?rev=345818&view=auto
==============================================================================
--- webservices/axis2/trunk/c/modules/wsdl/src/wsdl_binding_operation.c (added)
+++ webservices/axis2/trunk/c/modules/wsdl/src/wsdl_binding_operation.c Sun Nov 20 19:19:08 2005
@@ -0,0 +1,401 @@
+#include <axis2_wsdl_binding_operation.h>
+#include <string.h>
+
+/** 
+ * @brief Wsdl Component struct impl
+ *	Axis2 Wsdl Component impl  
+ */
+typedef struct axis2_wsdl_binding_operation_impl
+{
+	axis2_wsdl_binding_operation_t binding_operation;
+	    /**
+     * Field name
+     */
+    axis2_qname_t *qname;
+
+
+    /**
+     * Field infaults
+     */
+    axis2_linked_list_t *infaults;
+
+    /**
+     * Field outfaults
+     */
+    axis2_linked_list_t *outfaults;
+
+    /**
+     * Field operation
+     */
+    axis2_wsdl_operation_t *operation;
+
+    /**
+     * Field input
+     */
+    struct axis2_wsdl_binding_msg_ref *input;
+
+    /**
+     * Field output
+     */
+    struct axis2_wsdl_binding_msg_ref *output;
+} axis2_wsdl_binding_operation_impl_t;
+
+#define AXIS2_INTF_TO_IMPL(wsdl_binding_operation) \
+        ((axis2_wsdl_binding_operation_impl_t *)(wsdl_binding_operation))
+
+/***************************** Function headers *******************************/
+
+axis2_status_t AXIS2_CALL
+axis2_wsdl_binding_operation_free (axis2_wsdl_binding_operation_t *wsdl_binding_operation,
+                            axis2_env_t **env);
+
+
+struct axis2_wsdl_binding_msg_ref * AXIS2_CALL
+axis2_wsdl_binding_operation_get_input(axis2_wsdl_binding_operation_t *binding_operation,
+                                        axis2_env_t **env);
+
+axis2_status_t AXIS2_CALL
+axis2_wsdl_binding_operation_set_input(axis2_wsdl_binding_operation_t *binding_operation,
+                                        axis2_env_t **env,
+                                        struct axis2_wsdl_binding_msg_ref *input);
+
+axis2_wsdl_operation_t *AXIS2_CALL
+axis2_wsdl_binding_operation_get_operation(axis2_wsdl_binding_operation_t *binding_operation,
+                                    axis2_env_t **env);
+
+axis2_status_t AXIS2_CALL
+axis2_wsdl_binding_operation_set_operation(axis2_wsdl_binding_operation_t *binding_operation,
+                                            axis2_env_t **env,
+                                            axis2_wsdl_operation_t *operation);
+
+struct axis2_wsdl_binding_msg_ref * AXIS2_CALL
+axis2_wsdl_binding_operation_get_output(axis2_wsdl_binding_operation_t *binding_operation,
+                                        axis2_env_t **env);
+
+axis2_status_t AXIS2_CALL
+axis2_wsdl_binding_operation_set_output(axis2_wsdl_binding_operation_t *binding_operation,
+                                        axis2_env_t **env,
+                                        struct axis2_wsdl_binding_msg_ref *output);
+
+axis2_qname_t *AXIS2_CALL
+axis2_wsdl_binding_operation_get_qname(axis2_wsdl_binding_operation_t *binding_operation,
+                                    axis2_env_t **env);
+
+axis2_status_t AXIS2_CALL
+axis2_wsdl_binding_operation_set_qname(axis2_wsdl_binding_operation_t *binding_operation,
+                                            axis2_env_t **env,
+                                            axis2_qname_t *qname);
+
+axis2_status_t AXIS2_CALL
+axis2_wsdl_binding_operation_add_infault(axis2_wsdl_binding_operation_t *binding_operation,
+                                            axis2_env_t **env,
+                                            axis2_wsdl_binding_fault_t *infault);
+
+axis2_status_t AXIS2_CALL
+axis2_wsdl_binding_operation_add_outfault(axis2_wsdl_binding_operation_t *binding_operation,
+                                            axis2_env_t **env,
+                                            axis2_wsdl_binding_fault_t *outfault);
+
+axis2_linked_list_t * AXIS2_CALL
+axis2_wsdl_binding_operation_get_infaults(axis2_wsdl_binding_operation_t *binding_operation,
+                                            axis2_env_t **env);
+
+axis2_status_t AXIS2_CALL
+axis2_wsdl_binding_operation_set_infaults(axis2_wsdl_binding_operation_t *binding_operation,
+                                            axis2_env_t **env,
+                                            axis2_linked_list_t *infaults);
+
+axis2_linked_list_t * AXIS2_CALL
+axis2_wsdl_binding_operation_get_outfaults(axis2_wsdl_binding_operation_t *binding_operation,
+                                            axis2_env_t **env);
+
+axis2_status_t AXIS2_CALL
+axis2_wsdl_binding_operation_set_outfaults(axis2_wsdl_binding_operation_t *binding_operation,
+                                            axis2_env_t **env,
+                                            axis2_linked_list_t *outfaults);
+
+		
+/***************************** End of function headers ************************/
+
+axis2_wsdl_binding_operation_t * AXIS2_CALL 
+axis2_wsdl_binding_operation_create (axis2_env_t **env)
+{
+    AXIS2_ENV_CHECK(env, NULL);
+    
+	axis2_wsdl_binding_operation_impl_t *binding_operation_impl = 
+        (axis2_wsdl_binding_operation_impl_t *) AXIS2_MALLOC ((*env)->allocator, 
+        sizeof(axis2_wsdl_binding_operation_impl_t));
+    
+	if(NULL == binding_operation_impl)
+	{
+		AXIS2_ERROR_SET((*env)->error, AXIS2_ERROR_NO_MEMORY, NULL);
+	}
+	
+    binding_operation_impl->infaults = axis2_linked_list_create (env);
+    
+	if(NULL == binding_operation_impl->infaults)
+	{
+		AXIS2_FREE ((*env)->allocator, binding_operation_impl);
+		AXIS2_ERROR_SET ((*env)->error, AXIS2_ERROR_NO_MEMORY, NULL);	
+	}
+    
+    binding_operation_impl->outfaults = axis2_linked_list_create (env);
+    
+	if(NULL == binding_operation_impl->outfaults)
+	{
+        AXIS2_LINKED_LIST_FREE(binding_operation_impl->infaults, env);
+		AXIS2_FREE ((*env)->allocator, binding_operation_impl);
+		AXIS2_ERROR_SET ((*env)->error, AXIS2_ERROR_NO_MEMORY, NULL);	
+	}
+    
+    binding_operation_impl->binding_operation.extensible_component = 
+        axis2_wsdl_extensible_component_create(env);
+    
+	if(NULL == binding_operation_impl->binding_operation.extensible_component)
+	{
+        AXIS2_LINKED_LIST_FREE(binding_operation_impl->infaults, env);
+        AXIS2_LINKED_LIST_FREE(binding_operation_impl->outfaults, env);
+		AXIS2_FREE ((*env)->allocator, binding_operation_impl);
+		AXIS2_ERROR_SET ((*env)->error, AXIS2_ERROR_NO_MEMORY, NULL);	
+	}
+    
+	binding_operation_impl->binding_operation.ops = (axis2_wsdl_binding_operation_ops_t *)
+		AXIS2_MALLOC ((*env)->allocator, sizeof(axis2_wsdl_binding_operation_ops_t));
+    
+	if(NULL == binding_operation_impl->binding_operation.ops)
+	{
+        AXIS2_LINKED_LIST_FREE(binding_operation_impl->infaults, env);
+        AXIS2_LINKED_LIST_FREE(binding_operation_impl->outfaults, env);
+        AXIS2_WSDL_EXTENSIBLE_COMPONENT_FREE(binding_operation_impl->
+            binding_operation.extensible_component, env);
+		AXIS2_FREE ((*env)->allocator, binding_operation_impl);
+		AXIS2_ERROR_SET ((*env)->error, AXIS2_ERROR_NO_MEMORY, NULL);	
+	}
+    
+	binding_operation_impl->binding_operation.ops->free = axis2_wsdl_binding_operation_free;
+    
+	binding_operation_impl->binding_operation.ops->get_input =
+        axis2_wsdl_binding_operation_get_input;
+    
+    binding_operation_impl->binding_operation.ops->set_input =
+        axis2_wsdl_binding_operation_set_input;
+    
+    binding_operation_impl->binding_operation.ops->get_operation =
+        axis2_wsdl_binding_operation_get_operation;
+    
+    binding_operation_impl->binding_operation.ops->set_operation =
+        axis2_wsdl_binding_operation_set_operation;
+    
+    binding_operation_impl->binding_operation.ops->get_output =
+        axis2_wsdl_binding_operation_get_output;
+    
+    binding_operation_impl->binding_operation.ops->set_output =
+        axis2_wsdl_binding_operation_set_output;
+    
+    binding_operation_impl->binding_operation.ops->get_qname =
+        axis2_wsdl_binding_operation_get_qname;
+    
+    binding_operation_impl->binding_operation.ops->set_qname =
+        axis2_wsdl_binding_operation_set_qname;
+        
+    binding_operation_impl->binding_operation.ops->add_infault =
+        axis2_wsdl_binding_operation_add_infault;
+    
+    binding_operation_impl->binding_operation.ops->add_outfault =
+        axis2_wsdl_binding_operation_add_outfault;
+
+    binding_operation_impl->binding_operation.ops->get_infaults =
+        axis2_wsdl_binding_operation_get_infaults; 
+        
+    binding_operation_impl->binding_operation.ops->set_infaults =
+        axis2_wsdl_binding_operation_set_infaults; 
+
+    binding_operation_impl->binding_operation.ops->get_outfaults =
+        axis2_wsdl_binding_operation_get_outfaults; 
+        
+    binding_operation_impl->binding_operation.ops->set_outfaults =
+        axis2_wsdl_binding_operation_set_outfaults; 
+    
+    
+	binding_operation_impl->qname = NULL;
+    binding_operation_impl->operation = NULL;
+    binding_operation_impl->input = NULL;
+    binding_operation_impl->output = NULL;
+	
+	return &(binding_operation_impl->binding_operation);
+}
+
+/******************************************************************************/
+
+axis2_status_t AXIS2_CALL 
+axis2_wsdl_binding_operation_free (axis2_wsdl_binding_operation_t *binding_operation, 
+                            axis2_env_t **env)
+{
+    AXIS2_FUNC_PARAM_CHECK(binding_operation, env, AXIS2_FAILURE);
+	if(NULL != binding_operation->ops)
+        AXIS2_FREE((*env)->allocator, binding_operation->ops);
+    
+    if(NULL != AXIS2_INTF_TO_IMPL(binding_operation)->qname)
+       AXIS2_QNAME_FREE(AXIS2_INTF_TO_IMPL(binding_operation)->qname, env);
+    
+    if(NULL != AXIS2_INTF_TO_IMPL(binding_operation)->infaults)
+       AXIS2_LINKED_LIST_FREE(AXIS2_INTF_TO_IMPL(binding_operation)->infaults, env);
+    
+    if(NULL != AXIS2_INTF_TO_IMPL(binding_operation)->outfaults)
+       AXIS2_LINKED_LIST_FREE(AXIS2_INTF_TO_IMPL(binding_operation)->outfaults, env);
+    
+    if(NULL != AXIS2_INTF_TO_IMPL(binding_operation)->operation)
+       AXIS2_WSDL_OPERATION_FREE(AXIS2_INTF_TO_IMPL(binding_operation)->operation, env);
+    
+    if(NULL != AXIS2_INTF_TO_IMPL(binding_operation)->input)
+       AXIS2_WSDL_BINDING_MSG_REF_FREE(AXIS2_INTF_TO_IMPL(binding_operation)->input, env);
+    
+    if(NULL != binding_operation->extensible_component)
+        AXIS2_WSDL_EXTENSIBLE_COMPONENT_FREE(binding_operation->
+            extensible_component, env);
+    
+    if(NULL != AXIS2_INTF_TO_IMPL(binding_operation)->output)
+       AXIS2_WSDL_BINDING_MSG_REF_FREE(AXIS2_INTF_TO_IMPL(binding_operation)->output, env);
+    
+    AXIS2_FREE((*env)->allocator, AXIS2_INTF_TO_IMPL(binding_operation));
+    
+	return AXIS2_SUCCESS;
+}
+
+struct axis2_wsdl_binding_msg_ref * AXIS2_CALL
+axis2_wsdl_binding_operation_get_input(axis2_wsdl_binding_operation_t *binding_operation,
+                                        axis2_env_t **env)
+{
+    AXIS2_FUNC_PARAM_CHECK(binding_operation, env, NULL);
+    return AXIS2_INTF_TO_IMPL(binding_operation)->input;
+}
+
+axis2_status_t AXIS2_CALL
+axis2_wsdl_binding_operation_set_input(axis2_wsdl_binding_operation_t *binding_operation,
+                                        axis2_env_t **env,
+                                        struct axis2_wsdl_binding_msg_ref *input) 
+{
+    AXIS2_FUNC_PARAM_CHECK(binding_operation, env, AXIS2_FAILURE);
+    AXIS2_PARAM_CHECK((*env)->error, input, AXIS2_FAILURE);
+    AXIS2_INTF_TO_IMPL(binding_operation)->input = input;
+    return AXIS2_SUCCESS;
+}
+
+axis2_wsdl_operation_t *AXIS2_CALL
+axis2_wsdl_binding_operation_get_operation(axis2_wsdl_binding_operation_t *binding_operation,
+                                    axis2_env_t **env) 
+{
+    AXIS2_FUNC_PARAM_CHECK(binding_operation, env, NULL);
+    return AXIS2_INTF_TO_IMPL(binding_operation)->operation;
+}
+
+axis2_status_t AXIS2_CALL
+axis2_wsdl_binding_operation_set_operation(axis2_wsdl_binding_operation_t *binding_operation,
+                                            axis2_env_t **env,
+                                            axis2_wsdl_operation_t *operation) 
+{
+    AXIS2_FUNC_PARAM_CHECK(binding_operation, env, AXIS2_FAILURE);
+    AXIS2_PARAM_CHECK((*env)->error, operation, AXIS2_FAILURE);
+    AXIS2_INTF_TO_IMPL(binding_operation)->operation = operation;
+    return AXIS2_SUCCESS;
+}
+
+struct axis2_wsdl_binding_msg_ref * AXIS2_CALL
+axis2_wsdl_binding_operation_get_output(axis2_wsdl_binding_operation_t *binding_operation,
+                                        axis2_env_t **env)
+{
+    AXIS2_FUNC_PARAM_CHECK(binding_operation, env, NULL);
+    return AXIS2_INTF_TO_IMPL(binding_operation)->output;
+}
+
+axis2_status_t AXIS2_CALL
+axis2_wsdl_binding_operation_set_output(axis2_wsdl_binding_operation_t *binding_operation,
+                                        axis2_env_t **env,
+                                        struct axis2_wsdl_binding_msg_ref *output) 
+{
+    AXIS2_FUNC_PARAM_CHECK(binding_operation, env, AXIS2_FAILURE);
+    AXIS2_PARAM_CHECK((*env)->error, output, AXIS2_FAILURE);
+    AXIS2_INTF_TO_IMPL(binding_operation)->output = output;
+    return AXIS2_SUCCESS;
+}
+
+axis2_qname_t *AXIS2_CALL
+axis2_wsdl_binding_operation_get_qname(axis2_wsdl_binding_operation_t *binding_operation,
+                                    axis2_env_t **env) 
+{
+    AXIS2_FUNC_PARAM_CHECK(binding_operation, env, NULL);
+    return AXIS2_INTF_TO_IMPL(binding_operation)->qname;
+}
+
+axis2_status_t AXIS2_CALL
+axis2_wsdl_binding_operation_set_qname(axis2_wsdl_binding_operation_t *binding_operation,
+                                            axis2_env_t **env,
+                                            axis2_qname_t *qname) 
+{
+    AXIS2_FUNC_PARAM_CHECK(binding_operation, env, AXIS2_FAILURE);
+    AXIS2_PARAM_CHECK((*env)->error, qname, AXIS2_FAILURE);
+    AXIS2_INTF_TO_IMPL(binding_operation)->qname = qname;
+    return AXIS2_SUCCESS;
+}
+
+axis2_status_t AXIS2_CALL
+axis2_wsdl_binding_operation_add_infault(axis2_wsdl_binding_operation_t *binding_operation,
+                                            axis2_env_t **env,
+                                            axis2_wsdl_binding_fault_t *infault) 
+{
+    AXIS2_FUNC_PARAM_CHECK(binding_operation, env, AXIS2_FAILURE);
+    AXIS2_PARAM_CHECK((*env)->error, infault, AXIS2_FAILURE);
+    
+    return AXIS2_LINKED_LIST_ADD(AXIS2_INTF_TO_IMPL(binding_operation)->infaults,
+        env, infault);
+}
+
+axis2_status_t AXIS2_CALL
+axis2_wsdl_binding_operation_add_outfault(axis2_wsdl_binding_operation_t *binding_operation,
+                                            axis2_env_t **env,
+                                            axis2_wsdl_binding_fault_t *outfault) 
+{
+    AXIS2_FUNC_PARAM_CHECK(binding_operation, env, AXIS2_FAILURE);
+    AXIS2_PARAM_CHECK((*env)->error, outfault, AXIS2_FAILURE);
+    
+    return AXIS2_LINKED_LIST_ADD(AXIS2_INTF_TO_IMPL(binding_operation)->outfaults,
+        env, outfault);
+}
+
+axis2_linked_list_t * AXIS2_CALL
+axis2_wsdl_binding_operation_get_infaults(axis2_wsdl_binding_operation_t *binding_operation,
+                                            axis2_env_t **env) 
+{
+    AXIS2_FUNC_PARAM_CHECK(binding_operation, env, NULL);
+    return AXIS2_INTF_TO_IMPL(binding_operation)->infaults;
+}
+
+axis2_status_t AXIS2_CALL
+axis2_wsdl_binding_operation_set_infaults(axis2_wsdl_binding_operation_t *binding_operation,
+                                            axis2_env_t **env,
+                                            axis2_linked_list_t *infaults) 
+{
+    AXIS2_FUNC_PARAM_CHECK(binding_operation, env, AXIS2_FAILURE);
+    AXIS2_PARAM_CHECK((*env)->error, infaults, AXIS2_FAILURE);
+    AXIS2_INTF_TO_IMPL(binding_operation)->infaults = infaults;
+    return AXIS2_SUCCESS;
+}
+
+axis2_linked_list_t * AXIS2_CALL
+axis2_wsdl_binding_operation_get_outfaults(axis2_wsdl_binding_operation_t *binding_operation,
+                                            axis2_env_t **env) 
+{
+    AXIS2_FUNC_PARAM_CHECK(binding_operation, env, NULL);
+    return AXIS2_INTF_TO_IMPL(binding_operation)->outfaults;
+}
+
+axis2_status_t AXIS2_CALL
+axis2_wsdl_binding_operation_set_outfaults(axis2_wsdl_binding_operation_t *binding_operation,
+                                            axis2_env_t **env,
+                                            axis2_linked_list_t *outfaults) 
+{
+    AXIS2_FUNC_PARAM_CHECK(binding_operation, env, AXIS2_FAILURE);
+    AXIS2_PARAM_CHECK((*env)->error, outfaults, AXIS2_FAILURE);
+    AXIS2_INTF_TO_IMPL(binding_operation)->outfaults = outfaults;
+    return AXIS2_SUCCESS;
+}

Modified: webservices/axis2/trunk/c/modules/wsdl/src/wsdl_component.c
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/wsdl/src/wsdl_component.c?rev=345818&r1=345817&r2=345818&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/wsdl/src/wsdl_component.c (original)
+++ webservices/axis2/trunk/c/modules/wsdl/src/wsdl_component.c Sun Nov 20 19:19:08 2005
@@ -1,17 +1,15 @@
 #include <axis2_wsdl_component.h>
 #include <string.h>
 
-typedef struct  axis2_wsdl_component_impl_s axis2_wsdl_component_impl_t;
-
 /** 
  * @brief Wsdl Component struct impl
  *	Axis2 Wsdl Component impl  
  */
-struct axis2_wsdl_component_impl_s
+typedef struct axis2_wsdl_component_impl
 {
 	axis2_wsdl_component_t wsdl_component;
 	axis2_hash_t *component_properties;
-};
+} axis2_wsdl_component_impl_t;
 
 #define AXIS2_INTF_TO_IMPL(wsdl_component) \
         ((axis2_wsdl_component_impl_t *)(wsdl_component))

Added: webservices/axis2/trunk/c/modules/wsdl/src/wsdl_endpoint.c
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/wsdl/src/wsdl_endpoint.c?rev=345818&view=auto
==============================================================================
--- webservices/axis2/trunk/c/modules/wsdl/src/wsdl_endpoint.c (added)
+++ webservices/axis2/trunk/c/modules/wsdl/src/wsdl_endpoint.c Sun Nov 20 19:19:08 2005
@@ -0,0 +1,198 @@
+/*
+ * Copyright 2004,2005 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ 
+#include <axis2_wsdl_endpoint.h>
+
+/** 
+ * @brief Wsdl endpoint struct impl
+ *	Wsdl endpoints  
+ */ 
+typedef struct axis2_wsdl_endpoint_impl
+{
+	axis2_wsdl_endpoint_t wsdl_endpoint;
+    
+    /**
+     * Field name
+     */
+    axis2_qname_t *qname;
+
+    /**
+     * Field binding
+     */
+    struct axis2_wsdl_binding *wsdl_binding;	
+    
+} axis2_wsdl_endpoint_impl_t;
+
+#define AXIS2_INTF_TO_IMPL(wsdl_endpoint) \
+		((axis2_wsdl_endpoint_impl_t *)wsdl_endpoint)
+
+/************************* Function prototypes ********************************/
+
+axis2_status_t AXIS2_CALL
+	axis2_wsdl_endpoint_free (axis2_wsdl_endpoint_t *wsdl_endpoint,
+									axis2_env_t **env);
+
+axis2_qname_t * AXIS2_CALL
+axis2_wsdl_endpoint_get_name(axis2_wsdl_endpoint_t *wsdl_endpoint,
+                                axis2_env_t **env);
+
+axis2_status_t AXIS2_CALL
+axis2_wsdl_endpoint_set_name(axis2_wsdl_endpoint_t *wsdl_endpoint,
+                                axis2_env_t **env,
+                                axis2_qname_t *qname);
+
+struct axis2_wsdl_binding * AXIS2_CALL
+axis2_wsdl_endpoint_get_binding(axis2_wsdl_endpoint_t *wsdl_endpoint,
+                                axis2_env_t **env);
+
+axis2_status_t AXIS2_CALL
+axis2_wsdl_endpoint_set_binding(axis2_wsdl_endpoint_t *wsdl_endpoint,
+                                axis2_env_t **env,
+                                struct axis2_wsdl_binding *wsdl_binding);
+                                
+/************************** End of function prototypes ************************/
+
+axis2_wsdl_endpoint_t * AXIS2_CALL 
+axis2_wsdl_endpoint_create (axis2_env_t **env)
+{
+	AXIS2_ENV_CHECK(env, NULL);
+	
+	axis2_wsdl_endpoint_impl_t *wsdl_endpoint_impl = 
+		(axis2_wsdl_endpoint_impl_t *) AXIS2_MALLOC((*env)->allocator,
+			sizeof(axis2_wsdl_endpoint_impl_t));
+	
+	
+	if(NULL == wsdl_endpoint_impl)
+        AXIS2_ERROR_SET((*env)->error, AXIS2_ERROR_NO_MEMORY, NULL); 
+	
+    wsdl_endpoint_impl->wsdl_endpoint.wsdl_component = axis2_wsdl_component_create(env);
+    if(NULL == wsdl_endpoint_impl->wsdl_endpoint.wsdl_component)
+    {
+        AXIS2_FREE((*env)->allocator, wsdl_endpoint_impl);
+        AXIS2_ERROR_SET((*env)->error, AXIS2_ERROR_NO_MEMORY, NULL);
+    }    
+    
+	wsdl_endpoint_impl->wsdl_endpoint.ops = 
+		AXIS2_MALLOC ((*env)->allocator, sizeof(axis2_wsdl_endpoint_ops_t));
+	if(NULL == wsdl_endpoint_impl->wsdl_endpoint.ops)
+    {
+        AXIS2_WSDL_FEATURE_FREE(wsdl_endpoint_impl->wsdl_endpoint.wsdl_component, env);
+        AXIS2_FREE((*env)->allocator, wsdl_endpoint_impl);
+		AXIS2_ERROR_SET((*env)->error, AXIS2_ERROR_NO_MEMORY, NULL);
+    }
+    
+	wsdl_endpoint_impl->wsdl_endpoint.ops->free =  axis2_wsdl_endpoint_free;
+	wsdl_endpoint_impl->wsdl_endpoint.ops->get_name = 
+        axis2_wsdl_endpoint_get_name;
+    wsdl_endpoint_impl->wsdl_endpoint.ops->set_name = 
+        axis2_wsdl_endpoint_set_name;
+	wsdl_endpoint_impl->wsdl_endpoint.ops->get_binding = 
+        axis2_wsdl_endpoint_get_binding;
+    wsdl_endpoint_impl->wsdl_endpoint.ops->set_binding = 
+        axis2_wsdl_endpoint_set_binding;
+	
+	wsdl_endpoint_impl->qname = NULL;
+    wsdl_endpoint_impl->wsdl_binding = NULL;
+	
+	return &(wsdl_endpoint_impl->wsdl_endpoint);
+}
+
+/***************************Function implementation****************************/
+
+axis2_status_t AXIS2_CALL 
+axis2_wsdl_endpoint_free (axis2_wsdl_endpoint_t *wsdl_endpoint, 
+                            axis2_env_t **env)
+{
+    AXIS2_FUNC_PARAM_CHECK(wsdl_endpoint, env, AXIS2_FAILURE);
+	if(NULL != wsdl_endpoint->ops)
+        AXIS2_FREE((*env)->allocator, wsdl_endpoint->ops);
+    
+    if(NULL != AXIS2_INTF_TO_IMPL(wsdl_endpoint)->qname)
+    {
+        AXIS2_FREE((*env)->allocator, AXIS2_INTF_TO_IMPL(wsdl_endpoint)->qname);
+    }
+    
+    if(NULL != AXIS2_INTF_TO_IMPL(wsdl_endpoint)->wsdl_binding)
+    {
+        AXIS2_WSDL_BINDING_FREE(AXIS2_INTF_TO_IMPL(wsdl_endpoint)->wsdl_binding, env);
+    }
+    
+    if(NULL != wsdl_endpoint->wsdl_component)
+    {
+        AXIS2_WSDL_COMPONENT_FREE(wsdl_endpoint->wsdl_component, env);
+    }
+    
+    AXIS2_FREE((*env)->allocator, AXIS2_INTF_TO_IMPL(wsdl_endpoint));
+    
+	return AXIS2_SUCCESS;
+}
+
+/**
+ * Method getName
+ *
+ * @return
+ */
+axis2_qname_t *AXIS2_CALL
+axis2_wsdl_endpoint_get_name(axis2_wsdl_endpoint_t *wsdl_endpoint,
+                                axis2_env_t **env) 
+{
+    AXIS2_FUNC_PARAM_CHECK(wsdl_endpoint, env, NULL);
+    return AXIS2_INTF_TO_IMPL(wsdl_endpoint)->qname;
+}
+
+/**
+ * Method setName
+ *
+ * @param name
+ */
+axis2_status_t AXIS2_CALL
+axis2_wsdl_endpoint_set_name(axis2_wsdl_endpoint_t *wsdl_endpoint,
+                                axis2_env_t **env,
+                                axis2_qname_t *qname) 
+{
+    AXIS2_FUNC_PARAM_CHECK(wsdl_endpoint, env, AXIS2_FAILURE);
+    AXIS2_PARAM_CHECK((*env)->error, qname, AXIS2_FAILURE);
+    AXIS2_INTF_TO_IMPL(wsdl_endpoint)->qname = qname;
+    return AXIS2_SUCCESS;
+}
+
+/**
+ * Method getBinding
+ *
+ * @return
+ */
+struct axis2_wsdl_binding * AXIS2_CALL
+axis2_wsdl_endpoint_get_binding(axis2_wsdl_endpoint_t *wsdl_endpoint,
+                                axis2_env_t **env) 
+{
+    AXIS2_FUNC_PARAM_CHECK(wsdl_endpoint, env, AXIS2_FALSE);
+    return AXIS2_INTF_TO_IMPL(wsdl_endpoint)->wsdl_binding;
+}
+
+/**
+ * Method setBinding
+ *
+ * @param binding
+ */
+axis2_status_t AXIS2_CALL
+axis2_wsdl_endpoint_set_binding(axis2_wsdl_endpoint_t *wsdl_endpoint,
+                                axis2_env_t **env,
+                                struct axis2_wsdl_binding *wsdl_binding) 
+{
+    AXIS2_FUNC_PARAM_CHECK(wsdl_endpoint, env, AXIS2_FAILURE);
+    AXIS2_INTF_TO_IMPL(wsdl_endpoint)->wsdl_binding = wsdl_binding;
+    return AXIS2_SUCCESS;
+}

Modified: webservices/axis2/trunk/c/modules/wsdl/src/wsdl_extensible_component.c
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/wsdl/src/wsdl_extensible_component.c?rev=345818&r1=345817&r2=345818&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/wsdl/src/wsdl_extensible_component.c (original)
+++ webservices/axis2/trunk/c/modules/wsdl/src/wsdl_extensible_component.c Sun Nov 20 19:19:08 2005
@@ -20,9 +20,10 @@
  * @brief Wsdl extensible component struct impl
  *	Wsdl extensible component
  */ 
-typedef struct axis2_wsdl_extensible_component_impl_s
+typedef struct axis2_wsdl_extensible_component_impl
 {
 	axis2_wsdl_extensible_component_t extensible_component;
+    
     /**
      * Field features
      */
@@ -118,6 +119,17 @@
         AXIS2_FREE((*env)->allocator, extensible_component_impl);
         AXIS2_ERROR_SET((*env)->error, AXIS2_ERROR_NO_MEMORY, NULL);
     }
+    
+    extensible_component_impl->extensible_component.wsdl_component = axis2_wsdl_component_create(env);
+    if(NULL == extensible_component_impl->extensible_component.wsdl_component)
+    {
+        AXIS2_LINKED_LIST_FREE(extensible_component_impl->properties, env);
+        AXIS2_LINKED_LIST_FREE(extensible_component_impl->features, env);
+        AXIS2_FREE((*env)->allocator, extensible_component_impl->
+            extensible_component.ops);
+        AXIS2_FREE((*env)->allocator, extensible_component_impl);
+        AXIS2_ERROR_SET((*env)->error, AXIS2_ERROR_NO_MEMORY, NULL);
+    }    
 	
 	return &(extensible_component_impl->extensible_component);
 }
@@ -143,6 +155,11 @@
     {
         AXIS2_LINKED_LIST_FREE(AXIS2_INTF_TO_IMPL(extensible_component)->
             properties, env);
+    }
+    
+    if(NULL != extensible_component->wsdl_component)
+    {
+        AXIS2_WSDL_COMPONENT_FREE(extensible_component->wsdl_component, env);
     }
     
     AXIS2_FREE((*env)->allocator, AXIS2_INTF_TO_IMPL(extensible_component));