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/10/31 06:42:54 UTC
svn commit: r329759 - in /webservices/axis2/trunk/c:
include/axis2_wsdl_component.h include/axis2_wsdl_operation.h
include/axis2_wsdl_service.h modules/wsdl/src/axis2_wsdl_component.c
Author: damitha
Date: Sun Oct 30 21:42:35 2005
New Revision: 329759
URL: http://svn.apache.org/viewcvs?rev=329759&view=rev
Log:
Code added to description
Added:
webservices/axis2/trunk/c/include/axis2_wsdl_component.h
webservices/axis2/trunk/c/include/axis2_wsdl_operation.h
webservices/axis2/trunk/c/include/axis2_wsdl_service.h
webservices/axis2/trunk/c/modules/wsdl/src/axis2_wsdl_component.c
Added: webservices/axis2/trunk/c/include/axis2_wsdl_component.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/include/axis2_wsdl_component.h?rev=329759&view=auto
==============================================================================
--- webservices/axis2/trunk/c/include/axis2_wsdl_component.h (added)
+++ webservices/axis2/trunk/c/include/axis2_wsdl_component.h Sun Oct 30 21:42:35 2005
@@ -0,0 +1,142 @@
+#ifndef AXIS2_WSDL_COMPONENT_H
+#define AXIS2_WSDL_COMPONENT_H
+/**
+ * @file axis2_wsdl_component.h
+ * @brief axis2 WSDL component
+ */
+
+#include <axis2.h>
+#include <axis2_error.h>
+#include <axis2_defines.h>
+#include <axis2_environment.h>
+#include <axis2_allocator.h>
+#include <axis2_string.h>
+#include <axis2_hash.h>
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+/** @cond */
+struct axis2_wsdl_component_ops_s;
+struct axis2_wsdl_component_s;
+/** @endcond */
+typedef struct axis2_wsdl_component_ops_s axis2_wsdl_component_ops_t;
+typedef struct axis2_wsdl_component_s axis2_wsdl_component_t;
+
+
+/** @defgroup axis2_wsdl WSDL (Axis2 wsdl)
+ * @ingroup axis2
+ * @{
+ */
+
+/** @} */
+
+/**
+ * @defgroup axis2_wsdl_component WSDL Component
+ * @ingroup axis2_wsdl
+ * @{
+ */
+
+/**************************** Start of function macros ************************/
+
+#define AXIS2_WSDL_COMPONENT_FREE(env, wsdl_component) \
+ ((wsdl_component->ops)->free (env, wsdl_component))
+
+#define AXIS2_WSDL_COMPONENT_SET_COMPONENT_PROPERTIES(env, wsdl_component \
+ , properties) \
+ ((wsdl_component->ops)->set_component_properties(env \
+ , wsdl_component, properties))
+
+#define AXIS2_WSDL_COMPONENT_GET_COMPONENT_PROPERTIES(env, wsdl_component \
+ , properties) \
+ ((wsdl_component->ops)->get_component_properties(env \
+ , wsdl_component, properties))
+
+#define AXIS2_WSDL_COMPONENT_SET_COMPONENT_PROPERTY(env, wsdl_component \
+ , key, value) \
+ ((wsdl_component->ops)->set_component_property(env \
+ , wsdl_component, key, value))
+
+#define AXIS2_WSDL_COMPONENT_GET_COMPONENT_PROPERTY(env, wsdl_component \
+ , key, value) \
+ ((wsdl_component->ops)->get_component_property(env \
+ , wsdl_component, key, value))
+
+/**************************** End of function macros **************************/
+/**************************** Function pointers *******************************/
+
+/** Deallocate memory
+ * @return status code
+ */
+typedef axis2_status_t (*axis2_wsdl_component_free_t)
+ (axis2_environment_t *env
+ , axis2_wsdl_component_t *wsdl_component);
+
+/**
+ * Returns the properties that are specific to this WSDL Component
+ * @return axis2_hash_t** component properties
+ */
+typedef axis2_status_t (*axis2_wsdl_component_get_component_properties_t)
+ (axis2_environment_t *env, axis2_wsdl_component_t *wsdl_component
+ , axis2_hash_t **properties);
+
+/**
+ * Sets the properties of the Component if any
+ * @param axis2_hash_t* properties
+ */
+typedef axis2_status_t (*axis2_wsdl_component_set_component_properties_t)
+ (axis2_environment_t *env, axis2_wsdl_component_t *wsdl_component
+ , axis2_hash_t *properties);
+
+/**
+ * Will set the property keyed with the relavent key
+ * @param void* Key in the map
+ * @param void* value to be put
+ */
+typedef axis2_status_t (*axis2_wsdl_component_set_component_property_t)
+ (axis2_environment_t *env, axis2_wsdl_component_t *wsdl_component
+ , const void *key, void *value);
+
+
+/**
+ * Gets the component property
+ *
+ * @param void* key for the map search.
+ * @return void* value for the key
+ */
+typedef axis2_status_t (*axis2_wsdl_component_get_component_property_t)
+ (axis2_environment_t *env, axis2_wsdl_component_t *wsdl_component
+ , const void *key, void **value) ;
+
+
+/*************************** End of function pointers *************************/
+
+struct axis2_wsdl_component_ops_s
+{
+ axis2_wsdl_component_free_t free;
+ axis2_wsdl_component_set_component_properties_t set_component_properties;
+ axis2_wsdl_component_get_component_properties_t get_component_properties;
+ axis2_wsdl_component_set_component_property_t set_component_property;
+ axis2_wsdl_component_get_component_property_t get_component_property;
+
+};
+
+struct axis2_wsdl_component_s
+{
+ axis2_wsdl_component_ops_t *ops;
+};
+
+/** create a wsdl component
+ * @return axis2_wsdl_component_t ** allocated component
+ */
+axis2_status_t axis2_wsdl_component_create (axis2_environment_t *env
+ , axis2_wsdl_component_t **wsdl_component);
+
+/** @} */
+#ifdef __cplusplus
+}
+#endif
+
+#endif /*AXIS2_WSDL_COMPONENT_H*/
Added: 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=329759&view=auto
==============================================================================
--- webservices/axis2/trunk/c/include/axis2_wsdl_operation.h (added)
+++ webservices/axis2/trunk/c/include/axis2_wsdl_operation.h Sun Oct 30 21:42:35 2005
@@ -0,0 +1,221 @@
+/*
+ * 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_OPERATION_H
+#define AXIS2_WSDL_OPERATION_H
+
+/**
+ * @file axis2_wsdl_operation.h
+ * @brief axis2 WSDL operation
+ */
+
+#include <axis2.h>
+#include <axis2_error.h>
+#include <axis2_defines.h>
+#include <axis2_environment.h>
+#include <axis2_allocator.h>
+#include <axis2_string.h>
+#include <axis2_hash.h>
+
+#include <axis2_qname.h>
+#include <axis2_wsdl_component.h>
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+/** @cond */
+struct axis2_wsdl_operation_ops_s;
+struct axis2_wsdl_operation_s;
+/** @endcond */
+typedef struct axis2_wsdl_operation_ops_s axis2_wsdl_operation_ops_t;
+typedef struct axis2_wsdl_operation_s axis2_wsdl_operation_t;
+
+
+/** @defgroup axis2_wsdl WSDL (Axis2 wsdl)
+ * @ingroup axis2
+ * @{
+ */
+
+/** @} */
+
+/**
+ * @defgroup axis2_wsdl_operation WSDL Operation
+ * @ingroup axis2_wsdl
+ * @{
+ */
+
+/**************************** Start of function macros ************************/
+
+#define AXIS2_WSDL_OPERATION_FREE(env, wsdl_opt) \
+ ((wsdl_opt->ops)->free (env, wsdl_opt))
+
+#define AXIS2_WSDL_OPERATION_GET_MSG_EXCHANGE_PATTERN(env, wsdl_opt, pattern) \
+ ((wsdl_opt->ops)->get_msg_exchange_pattern(env, wsdl_opt, pattern))
+
+#define AXIS2_WSDL_OPERATION_SET_MSG_EXCHANGE_PATTERN(env, wsdl_opt, pattern) \
+ ((wsdl_opt->ops)->set_msg_exchange_pattern(env, wsdl_opt, pattern))
+
+#define AXIS2_WSDL_OPERATION_GET_NAME(env, wsdl_opt, name) \
+ ((wsdl_opt->ops)->get_name(env, wsdl_opt, name))
+
+#define AXIS2_WSDL_OPERATION_SET_NAME(env, wsdl_opt, name) \
+ ((wsdl_opt->ops)->set_name(env, wsdl_opt, name))
+
+#define AXIS2_WSDL_OPERATION_SET_STYLE(env, wsdl_opt, style) \
+ ((wsdl_opt->ops)->get_style(env, wsdl_opt, style))
+
+#define AXIS2_WSDL_OPERATION_GET_STYLE(env, wsdl_opt, style) \
+ ((wsdl_opt->ops)->set_style(env, wsdl_opt, style))
+
+#define AXIS2_WSDL_OPERATION_SET_COMPONENT_PROPERTIES(env, wsdl_opt, properties) \
+ ((wsdl_opt->ops)->set_component_properties(env, wsdl_opt, properties))
+
+#define AXIS2_WSDL_OPERATION_GET_COMPONENT_PROPERTIES(env, wsdl_opt, properties) \
+ ((wsdl_opt->ops)->get_component_properties(env, wsdl_opt, properties))
+
+#define AXIS2_WSDL_OPERATION_SET_COMPONENT_PROPERTY(env, wsdl_opt, property) \
+ ((wsdl_opt->ops)->set_component_property(env, wsdl_opt, property))
+
+#define AXIS2_WSDL_OPERATION_GET_COMPONENT_PROPERTY(env, wsdl_opt, property) \
+ ((wsdl_opt->ops)->get_component_property(env, wsdl_opt, property))
+
+/**************************** End of function macros **************************/
+/**************************** Function pointers *******************************/
+
+/** Deallocate memory
+ * @return status code
+ */
+typedef axis2_status_t (*axis2_wsdl_operation_free_t)
+ (axis2_environment_t *env
+ , axis2_wsdl_operation_t *wsdl_opt);
+
+/**
+ * get the message exchange pattern
+ * @return axis2_char_t* msg_exchange_pattern
+ */
+typedef axis2_status_t (*axis2_wsdl_operation_get_msg_exchange_pattern_t)
+ (axis2_environment_t *env, axis2_wsdl_operation_t *wsdl_opt
+ , axis2_char_t **pattern);
+
+/**
+ * set the message exchange pattern
+ *
+ * @param axis2_char_t *message exchange pattern
+ * @return status code
+ */
+typedef axis2_status_t (*axis2_wsdl_operation_set_msg_exchange_pattern_t)
+ (axis2_environment_t *env, axis2_wsdl_operation_t *wsdl_opt
+ , const axis2_char_t *msg_exchange_pattern);
+
+/**
+ * get name
+ * @return axis2_qname_t** operation name
+ */
+typedef axis2_status_t (*axis2_wsdl_operation_get_name_t) (axis2_environment_t *env
+ , axis2_wsdl_operation_t *wsdl_opt, axis2_qname_t **name);
+
+/**
+ * set name
+ *
+ * @param axis2_qname_t* operation name
+ */
+typedef axis2_status_t (*axis2_wsdl_operation_set_name_t) (axis2_environment_t *env
+ , axis2_wsdl_operation_t *wsdl_opt, const axis2_qname_t *name);
+
+/**
+ * get style
+ * return axis2_char_t** style
+ */
+typedef axis2_status_t (*axis2_wsdl_operation_get_style_t) (axis2_environment_t *env
+ , axis2_wsdl_operation_t *wsdl_opt, axis2_char_t **style);
+
+/**
+ * set style
+ * @param axis2_char_t* style
+ * @return status code
+ */
+typedef axis2_status_t (*axis2_wsdl_operation_set_style_t) (axis2_environment_t *env
+ , axis2_wsdl_operation_t *wsdl_opt, const axis2_char_t *style);
+
+/**
+ * Sets the properties of the operation if any
+ * @param axis2_hash_t* properties
+ */
+typedef axis2_status_t (*axis2_wsdl_operation_set_component_properties_t)
+ (axis2_environment_t *env, axis2_wsdl_operation_t *wsdl_opt
+ , axis2_hash_t *properties);
+
+/**
+ * Returns the properties that are specific to this WSDL operation
+ * @return axis2_hash_t** component properties
+ */
+typedef axis2_status_t (*axis2_wsdl_operation_get_component_properties_t)
+ (axis2_environment_t *env, axis2_wsdl_operation_t *wsdl_opt
+ , axis2_hash_t **properties);
+
+/**
+ * Will set the property keyed with the relavent key
+ * @param void* Key in the map
+ * @param void* value to be put
+ */
+typedef axis2_status_t (*axis2_wsdl_operation_set_component_property_t)
+ (axis2_environment_t *env, axis2_wsdl_operation_t *wsdl_opt
+ , const void *key, void *value);
+
+
+/**
+ * Gets the component property
+ *
+ * @param void* key for the map search.
+ * @return void* value for the key
+ */
+typedef axis2_status_t (*axis2_wsdl_operation_get_component_property_t)
+ (axis2_environment_t *env, axis2_wsdl_operation_t *wsdl_opt
+ , const void *key, void **value) ;
+
+/*************************** End of function pointers *************************/
+
+struct axis2_wsdl_operation_ops_s
+{
+ axis2_wsdl_operation_free_t free;
+ axis2_wsdl_operation_get_msg_exchange_pattern_t get_msg_exchange_pattern;
+ axis2_wsdl_operation_set_msg_exchange_pattern_t set_msg_exchange_pattern;
+ axis2_wsdl_operation_get_name_t get_name;
+ axis2_wsdl_operation_set_name_t set_name;
+ axis2_wsdl_operation_get_style_t get_style;
+ axis2_wsdl_operation_set_style_t set_style;
+ axis2_wsdl_operation_set_component_properties_t set_component_properties;
+ axis2_wsdl_operation_get_component_properties_t get_component_properties;
+ axis2_wsdl_operation_set_component_property_t set_component_property;
+ axis2_wsdl_operation_get_component_property_t get_component_property;
+
+};
+
+struct axis2_wsdl_operation_s
+{
+ axis2_wsdl_operation_ops_t *ops;
+};
+
+axis2_status_t axis2_wsdl_operation_create
+ (axis2_environment_t *env, axis2_wsdl_operation_t **wsdl_opt);
+
+/** @} */
+#ifdef __cplusplus
+}
+#endif
+#endif /* AXIS2_WSDL_OPERATION_H */
Added: webservices/axis2/trunk/c/include/axis2_wsdl_service.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/include/axis2_wsdl_service.h?rev=329759&view=auto
==============================================================================
--- webservices/axis2/trunk/c/include/axis2_wsdl_service.h (added)
+++ webservices/axis2/trunk/c/include/axis2_wsdl_service.h Sun Oct 30 21:42:35 2005
@@ -0,0 +1,99 @@
+/*
+ * 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_SERVICE_H
+#define AXIS2_WSDL_SERVICE_H
+
+/**
+ * @file axis2_wsdl_service.h
+ * @brief axis2 WSDL service
+ */
+
+#include <axis2.h>
+#include <axis2_error.h>
+#include <axis2_defines.h>
+#include <axis2_environment.h>
+#include <axis2_allocator.h>
+#include <axis2_string.h>
+#include <axis2_hash.h>
+
+#include <axis2_wsdl_component.h>
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+/** @cond */
+struct axis2_wsdl_service_ops_s;
+struct axis2_wsdl_service_s;
+/** @endcond */
+typedef struct axis2_wsdl_service_ops_s axis2_wsdl_service_ops_t;
+typedef struct axis2_wsdl_service_s axis2_wsdl_service_t;
+
+/** @defgroup axis2_wsdl WSDL (Axis2 wsdl)
+ * @ingroup axis2
+ * @{
+ */
+
+/** @} */
+
+/**
+ * @defgroup axis2_wsdl_service WSDL Service
+ * @ingroup axis2_wsdl
+ * @{
+ */
+
+/**************************** Start of function macros ************************/
+
+#define AXIS2_WSDL_SERVICE_FREE(env, wsdl_srv) ((wsdl_srv->ops)->free (env, \
+ wsdl_srv))
+
+
+
+
+/**************************** End of function macros **************************/
+/**************************** Function pointers *******************************/
+
+/** Deallocate memory
+ * @return status code
+ */
+typedef axis2_status_t (*axis2_wsdl_service_free_t) (axis2_environment_t *env
+ , axis2_wsdl_service_t *wsdl_srv);
+
+
+
+/*************************** End of function pointers *************************/
+
+struct axis2_wsdl_service_ops_s
+{
+ axis2_wsdl_service_free_t free;
+
+};
+
+struct axis2_wsdl_service_s
+{
+ axis2_wsdl_service_ops_t *ops;
+};
+
+axis2_status_t axis2_wsdl_service_create
+ (axis2_environment_t *env, axis2_wsdl_service_t **wsdl_srv);
+
+/** @} */
+#ifdef __cplusplus
+}
+#endif
+#endif /* AXIS2_WSDL_SERVICE_H */
Added: webservices/axis2/trunk/c/modules/wsdl/src/axis2_wsdl_component.c
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/wsdl/src/axis2_wsdl_component.c?rev=329759&view=auto
==============================================================================
--- webservices/axis2/trunk/c/modules/wsdl/src/axis2_wsdl_component.c (added)
+++ webservices/axis2/trunk/c/modules/wsdl/src/axis2_wsdl_component.c Sun Oct 30 21:42:35 2005
@@ -0,0 +1,175 @@
+#include <axis2_wsdl_component.h>
+#include <string.h>
+
+typedef struct axis2_wsdl_impl_component_s axis2_wsdl_impl_component_t;
+
+/**
+ * @struct axis2_wsdl_impl_component
+ * @brief WSDL component struct
+ * Component is used to hold component properties
+ */
+struct axis2_wsdl_impl_component_s
+{
+ axis2_wsdl_component_t wsdl_component;
+ axis2_hash_t *component_properties;
+};
+
+/***************************** Function headers *******************************/
+
+axis2_status_t axis2_wsdl_component_free (axis2_environment_t *env
+ , axis2_wsdl_component_t *wsdl_component);
+
+/**
+ * Sets the properties of the Component if any
+ * @param axis2_hash_t* properties
+ */
+axis2_status_t axis2_wsdl_component_set_component_properties(axis2_environment_t *env
+ , axis2_wsdl_component_t *wsdl_component, axis2_hash_t *properties);
+
+/**
+ * Returns the properties that are specific to this WSDL Component
+ * @return axis2_hash_t** component properties
+ */
+axis2_status_t axis2_wsdl_component_get_component_properties(axis2_environment_t *env
+ ,axis2_wsdl_component_t *wsdl_component, axis2_hash_t **properties);
+
+/**
+ * Will set the property keyed with the relavent key
+ * @param void* Key in the map
+ * @param void* value to be put
+ */
+axis2_status_t axis2_wsdl_component_set_component_property(axis2_environment_t *env
+ , axis2_wsdl_component_t *wsdl_component, const void *key, void *value);
+
+
+/**
+ * Gets the component property
+ *
+ * @param void* key for the map search.
+ * @return void* value for the key
+ */
+axis2_status_t axis2_wsdl_component_get_component_property(axis2_environment_t *env
+ , axis2_wsdl_component_t *wsdl_component, const void *key, void **value) ;
+
+/***************************** End of function headers ************************/
+
+axis2_status_t axis2_wsdl_component_create (axis2_environment_t *env
+ , axis2_wsdl_component_t **wsdl_component)
+{
+ axis2_wsdl_impl_component_t *wsdl_impl_component
+ = (axis2_wsdl_impl_component_t *)
+ axis2_malloc (env->allocator, sizeof(axis2_wsdl_impl_component_t));
+ if(!wsdl_impl_component)
+ {
+ return AXIS2_ERROR_NO_MEMORY;
+ }
+
+ axis2_wsdl_component_t *wsdl_component_local
+ = (axis2_wsdl_component_t *)
+ axis2_malloc (env->allocator, sizeof(axis2_wsdl_component_t));
+ if(!wsdl_component_local)
+ {
+ axis2_free(env->allocator, wsdl_impl_component);
+ return AXIS2_ERROR_NO_MEMORY;
+ }
+ wsdl_component_local->ops
+ = (axis2_wsdl_component_ops_t *)
+ axis2_malloc (env->allocator, sizeof(axis2_wsdl_component_ops_t));
+ if(!wsdl_component_local->ops)
+ {
+ axis2_free(env->allocator, wsdl_impl_component);
+ axis2_free(env->allocator, wsdl_component_local);
+ return AXIS2_ERROR_NO_MEMORY;
+ }
+ (wsdl_component_local->ops)->free = axis2_wsdl_component_free;
+
+ wsdl_impl_component->wsdl_component = *wsdl_component_local;
+
+ wsdl_impl_component->component_properties = axis2_hash_make (env);
+
+ *wsdl_component = &(wsdl_impl_component->wsdl_component);
+
+ return AXIS2_SUCCESS;
+}
+
+/******************************************************************************/
+
+axis2_status_t axis2_wsdl_component_free (axis2_environment_t *env
+ , axis2_wsdl_component_t *wsdl_component)
+{
+ if(NULL != wsdl_component)
+ axis2_free(env->allocator, wsdl_component);
+ return AXIS2_SUCCESS;
+}
+
+/**
+ * Returns the properties that are specific to this WSDL Component
+ * @return axis2_hash_t** component properties
+ */
+axis2_status_t axis2_wsdl_component_get_component_properties(axis2_environment_t *env
+ ,axis2_wsdl_component_t *wsdl_component, axis2_hash_t **properties)
+{
+ if(NULL == wsdl_component) return AXIS2_ERROR_INVALID_NULL_PARAMETER;
+ axis2_wsdl_impl_component_t *wsdl_impl_component
+ = (axis2_wsdl_impl_component_t*)(wsdl_component);
+ *properties = wsdl_impl_component->component_properties;
+ return AXIS2_SUCCESS;
+}
+
+/**
+ * Sets the properties of the Component if any
+ * @param axis2_hash_t* properties
+ */
+axis2_status_t axis2_wsdl_component_set_component_properties(axis2_environment_t *env
+ , axis2_wsdl_component_t *wsdl_component, axis2_hash_t *properties)
+{
+ if(NULL == wsdl_component || NULL == properties)
+ return AXIS2_ERROR_INVALID_NULL_PARAMETER;
+
+ axis2_wsdl_impl_component_t *wsdl_impl_component
+ = (axis2_wsdl_impl_component_t *) wsdl_component;
+ wsdl_impl_component->component_properties = axis2_malloc(env->allocator
+ , sizeof(axis2_wsdl_component_t));
+ memcpy(wsdl_impl_component->component_properties, properties
+ , sizeof(properties));
+ return AXIS2_SUCCESS;
+}
+
+/**
+ * Will set the property keyed with the relavent key
+ * @param void* Key in the map
+ * @param void* value to be put
+ */
+axis2_status_t axis2_wsdl_component_set_component_property(axis2_environment_t *env
+ , axis2_wsdl_component_t *wsdl_component, const void *key, void *value)
+{
+ if(NULL ==wsdl_component || NULL == key || NULL == value)
+ return AXIS2_ERROR_INVALID_NULL_PARAMETER;
+ axis2_wsdl_impl_component_t *wsdl_impl_component
+ = (axis2_wsdl_impl_component_t *) wsdl_component;
+ axis2_hash_set (wsdl_impl_component->component_properties
+ , key
+ , sizeof(key), value);
+ return AXIS2_SUCCESS;
+}
+
+/**
+ * Gets the component property
+ *
+ * @param void* key for the map search.
+ * @return void* value for the key
+ */
+axis2_status_t axis2_wsdl_component_get_component_property(axis2_environment_t *env
+ , axis2_wsdl_component_t *wsdl_component,const void *key, void **value)
+{
+ if(NULL == wsdl_component || NULL == key)
+ return AXIS2_ERROR_INVALID_NULL_PARAMETER;
+
+ axis2_wsdl_impl_component_t *wsdl_impl_component
+ = (axis2_wsdl_impl_component_t *) wsdl_component;
+
+ *value = (void *)(axis2_hash_get (wsdl_impl_component->component_properties
+ , key, sizeof(key)));
+
+ return AXIS2_SUCCESS;
+}