You are viewing a plain text version of this content. The canonical link for it is here.
Posted to axis-cvs@ws.apache.org by sa...@apache.org on 2006/03/29 11:46:23 UTC
svn commit: r389730 - in /webservices/axis2/trunk/c:
include/axis2_endpoint_ref.h modules/core/addr/endpoint_ref.c
modules/mod_addr/addr_out_handler.c
Author: samisa
Date: Wed Mar 29 01:46:21 2006
New Revision: 389730
URL: http://svn.apache.org/viewcvs?rev=389730&view=rev
Log:
More addressing fixes for interop to work
Modified:
webservices/axis2/trunk/c/include/axis2_endpoint_ref.h
webservices/axis2/trunk/c/modules/core/addr/endpoint_ref.c
webservices/axis2/trunk/c/modules/mod_addr/addr_out_handler.c
Modified: webservices/axis2/trunk/c/include/axis2_endpoint_ref.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/include/axis2_endpoint_ref.h?rev=389730&r1=389729&r2=389730&view=diff
==============================================================================
--- webservices/axis2/trunk/c/include/axis2_endpoint_ref.h (original)
+++ webservices/axis2/trunk/c/include/axis2_endpoint_ref.h Wed Mar 29 01:46:21 2006
@@ -29,6 +29,7 @@
#include <axis2_any_content_type.h>
#include <axis2_svc_name.h>
#include <axis2_om_node.h>
+#include <axis2_om_attribute.h>
#ifdef __cplusplus
extern "C"
@@ -103,6 +104,18 @@
get_meta_data_list)(struct axis2_endpoint_ref *endpoint_ref,
axis2_env_t **env);
+ axis2_array_list_t* (AXIS2_CALL *
+ get_ref_attribute_list)(struct axis2_endpoint_ref *endpoint_ref,
+ axis2_env_t **env);
+
+ axis2_array_list_t* (AXIS2_CALL *
+ get_meta_attribute_list)(struct axis2_endpoint_ref *endpoint_ref,
+ axis2_env_t **env);
+
+ axis2_array_list_t* (AXIS2_CALL *
+ get_extension_list)(struct axis2_endpoint_ref *endpoint_ref,
+ axis2_env_t **env);
+
axis2_status_t (AXIS2_CALL *
add_ref_param)(struct axis2_endpoint_ref *endpoint_ref,
axis2_env_t **env,
@@ -113,19 +126,34 @@
axis2_env_t **env,
axis2_om_node_t* meta_data_node);
+ axis2_status_t (AXIS2_CALL *
+ add_ref_attribute)(struct axis2_endpoint_ref *endpoint_ref,
+ axis2_env_t **env,
+ axis2_om_attribute_t* attr);
+
+ axis2_status_t (AXIS2_CALL *
+ add_meta_attribute)(struct axis2_endpoint_ref *endpoint_ref,
+ axis2_env_t **env,
+ axis2_om_attribute_t* attr);
+
+ axis2_status_t (AXIS2_CALL *
+ add_extension)(struct axis2_endpoint_ref *endpoint_ref,
+ axis2_env_t **env,
+ axis2_om_node_t* extension_node);
+
/**
* Method get_ref_params
*/
- axis2_any_content_type_t* (AXIS2_CALL *
+ /* axis2_any_content_type_t* (AXIS2_CALL *
get_ref_params)(struct axis2_endpoint_ref *endpoint_ref,
- axis2_env_t **env);
+ axis2_env_t **env);*/
/**
* Method set_ref_params
*/
- axis2_status_t (AXIS2_CALL *
+/* axis2_status_t (AXIS2_CALL *
set_ref_params)(struct axis2_endpoint_ref *endpoint_ref,
axis2_env_t **env,
- axis2_any_content_type_t* any_content_type);
+ axis2_any_content_type_t* any_content_type);*/
/**
* Method get_svc_name
*/
@@ -143,7 +171,7 @@
axis2_svc_name_t *svc_name);
- axis2_om_node_t* (AXIS2_CALL *
+/* axis2_om_node_t* (AXIS2_CALL *
get_policies)(struct axis2_endpoint_ref *endpoint_ref,
axis2_env_t **env);
@@ -151,8 +179,8 @@
set_policies)(struct axis2_endpoint_ref *endpoint_ref,
axis2_env_t **env,
axis2_om_node_t *policies);
-
- axis2_any_content_type_t* (AXIS2_CALL *
+*/
+/* axis2_any_content_type_t* (AXIS2_CALL *
get_metadata)(struct axis2_endpoint_ref *endpoint_ref,
axis2_env_t **env);
@@ -160,7 +188,7 @@
set_metadata)(struct axis2_endpoint_ref *endpoint_ref,
axis2_env_t **env,
axis2_any_content_type_t *metadata);
-
+**/
/*
axis2_status_t (AXIS2_CALL *
add_ref_param)(struct axis2_endpoint_ref *endpoint_ref,
@@ -213,11 +241,11 @@
#define AXIS2_ENDPOINT_REF_SET_REF_PROPERTIES(endpoint_ref, env, ref_properties)\
((endpoint_ref)->ops->set_ref_properties(endpoint_ref, env, ref_properties))
-#define AXIS2_ENDPOINT_REF_GET_REF_PARAMS(endpoint_ref, env) \
+/*#define AXIS2_ENDPOINT_REF_GET_REF_PARAMS(endpoint_ref, env) \
((endpoint_ref)->ops->get_ref_params(endpoint_ref, env))
#define AXIS2_ENDPOINT_REF_SET_REF_PARAMS(endpoint_ref, env, any_content_type) \
- ((endpoint_ref)->ops->set_ref_params(endpoint_ref, env, any_content_type))
+ ((endpoint_ref)->ops->set_ref_params(endpoint_ref, env, any_content_type))*/
#define AXIS2_ENDPOINT_REF_GET_SVC_NAME(endpoint_ref, env) \
((endpoint_ref)->ops->get_svc_name(endpoint_ref, env))
@@ -225,17 +253,17 @@
#define AXIS2_ENDPOINT_REF_SET_SVC_NAME(endpoint_ref, env, svc_name) \
((endpoint_ref)->ops->set_svc_name(endpoint_ref, env, svc_name))
-#define AXIS2_ENDPOINT_REF_GET_POLICIES(endpoint_ref, env) \
+/*#define AXIS2_ENDPOINT_REF_GET_POLICIES(endpoint_ref, env) \
((endpoint_ref)->ops->get_policies(endpoint_ref, env))
#define AXIS2_ENDPOINT_REF_SET_POLICIES(endpoint_ref, env, policies) \
- ((endpoint_ref)->ops->set_policies(endpoint_ref, env, policies))
+ ((endpoint_ref)->ops->set_policies(endpoint_ref, env, policies))*/
-#define AXIS2_ENDPOINT_REF_GET_METADATA(endpoint_ref, env) \
+/*#define AXIS2_ENDPOINT_REF_GET_METADATA(endpoint_ref, env) \
((endpoint_ref)->ops->get_metadata(endpoint_ref, env))
#define AXIS2_ENDPOINT_REF_SET_METADATA(endpoint_ref, env, metadata) \
- ((endpoint_ref)->ops->set_metadata(endpoint_ref, env, metadata))
+ ((endpoint_ref)->ops->set_metadata(endpoint_ref, env, metadata))*/
#define AXIS2_ENDPOINT_REF_GET_REF_PARAM_LIST(endpoint_ref, env) \
((endpoint_ref)->ops->get_ref_param_list(endpoint_ref, env))
@@ -251,6 +279,24 @@
#define AXIS2_ENDPOINT_REF_FREE(endpoint_ref, env) \
((endpoint_ref)->ops->free(endpoint_ref, env))
+
+#define AXIS2_ENDPOINT_REF_GET_REF_ATTRIBUTE_LIST(endpoint_ref, env) \
+ ((endpoint_ref)->ops->get_ref_attribute_list(endpoint_ref, env))
+
+#define AXIS2_ENDPOINT_REF_GET_META_ATTRIBUTE_LIST(endpoint_ref, env) \
+ ((endpoint_ref)->ops->get_meta_attribute_list(endpoint_ref, env))
+
+#define AXIS2_ENDPOINT_REF_GET_REF_EXTENTION_LIST(endpoint_ref, env) \
+ ((endpoint_ref)->ops->get_extension_list(endpoint_ref, env))
+
+#define AXIS2_ENDPOINT_REF_ADD_REF_ATTRIBUTE(endpoint_ref, env, attr) \
+ ((endpoint_ref)->ops->add_ref_attribute(endpoint_ref, env, attr))
+
+#define AXIS2_ENDPOINT_REF_ADD_META_ATTRIBUTE(endpoint_ref, env, attr) \
+ ((endpoint_ref)->ops->add_meta_attribute(endpoint_ref, env, attr))
+
+#define AXIS2_ENDPOINT_REF_ADD_EXTENSION(endpoint_ref, env, node) \
+ ((endpoint_ref)->ops->add_extension(endpoint_ref, env, node))
/** @} */
Modified: webservices/axis2/trunk/c/modules/core/addr/endpoint_ref.c
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/core/addr/endpoint_ref.c?rev=389730&r1=389729&r2=389730&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/core/addr/endpoint_ref.c (original)
+++ webservices/axis2/trunk/c/modules/core/addr/endpoint_ref.c Wed Mar 29 01:46:21 2006
@@ -28,19 +28,25 @@
/** interface qname */
axis2_qname_t *interface_qname;
/** reference properties */
- axis2_any_content_type_t *ref_properties;
+ /*axis2_any_content_type_t *ref_properties;*/
/** reference parameters */
- axis2_any_content_type_t *ref_params;
+ /*axis2_any_content_type_t *ref_params;*/
/** reference parameters */
axis2_array_list_t *ref_param_list;
/** meta data */
axis2_array_list_t *meta_data_list;
+ /** reference parameter attribute list */
+ axis2_array_list_t *ref_attribute_list;
+ /** meta data attribute list */
+ axis2_array_list_t *meta_attribute_list;
+ /** extensible element list */
+ axis2_array_list_t *extension_list;
/** service name */
axis2_svc_name_t *svc_name;
/** policies represented as an OM node */
- axis2_om_node_t *policies;
+ /*axis2_om_node_t *policies;*/
/** meta data */
- axis2_any_content_type_t *metadata;
+ /*axis2_any_content_type_t *metadata;*/
} axis2_endpoint_ref_impl_t;
/** Interface to implementation conversion macro */
@@ -66,7 +72,7 @@
axis2_env_t **env,
axis2_qname_t *interface_qname);
-axis2_any_content_type_t* AXIS2_CALL
+/*axis2_any_content_type_t* AXIS2_CALL
axis2_endpoint_ref_get_ref_properties(struct axis2_endpoint_ref *endpoint_ref,
axis2_env_t **env);
@@ -74,6 +80,7 @@
axis2_endpoint_ref_set_ref_properties(struct axis2_endpoint_ref *endpoint_ref,
axis2_env_t **env,
axis2_any_content_type_t *ref_properties);
+*/
axis2_array_list_t* AXIS2_CALL
axis2_endpoint_ref_get_ref_param_list(struct axis2_endpoint_ref *endpoint_ref,
@@ -84,7 +91,19 @@
axis2_env_t **env);
-axis2_any_content_type_t* AXIS2_CALL
+axis2_array_list_t* AXIS2_CALL
+axis2_endpoint_ref_get_ref_attribute_list(struct axis2_endpoint_ref *endpoint_ref,
+ axis2_env_t **env);
+
+axis2_array_list_t* AXIS2_CALL
+axis2_endpoint_ref_get_meta_attribute_list(struct axis2_endpoint_ref *endpoint_ref,
+ axis2_env_t **env);
+
+axis2_array_list_t* AXIS2_CALL
+axis2_endpoint_ref_get_extension_list(struct axis2_endpoint_ref *endpoint_ref,
+ axis2_env_t **env);
+
+/*axis2_any_content_type_t* AXIS2_CALL
axis2_endpoint_ref_get_ref_params(struct axis2_endpoint_ref *endpoint_ref,
axis2_env_t **env);
@@ -92,7 +111,7 @@
axis2_endpoint_ref_set_ref_params(struct axis2_endpoint_ref *endpoint_ref,
axis2_env_t **env,
axis2_any_content_type_t* any_content_type);
-
+*/
axis2_status_t AXIS2_CALL
axis2_endpoint_ref_add_ref_param(struct axis2_endpoint_ref *endpoint_ref,
axis2_env_t **env,
@@ -103,6 +122,21 @@
axis2_env_t **env,
axis2_om_node_t* meta_data_node);
+axis2_status_t AXIS2_CALL
+axis2_endpoint_ref_add_ref_attribute(struct axis2_endpoint_ref *endpoint_ref,
+ axis2_env_t **env,
+ axis2_om_attribute_t* attr);
+
+axis2_status_t AXIS2_CALL
+axis2_endpoint_ref_add_meta_attribute(struct axis2_endpoint_ref *endpoint_ref,
+ axis2_env_t **env,
+ axis2_om_attribute_t* attr);
+
+axis2_status_t AXIS2_CALL
+axis2_endpoint_ref_add_extension(struct axis2_endpoint_ref *endpoint_ref,
+ axis2_env_t **env,
+ axis2_om_node_t* extension_node);
+
axis2_svc_name_t* AXIS2_CALL
axis2_endpoint_ref_get_svc_name(struct axis2_endpoint_ref *endpoint_ref,
axis2_env_t **env);
@@ -112,7 +146,7 @@
axis2_env_t **env,
axis2_svc_name_t *svc_name);
-axis2_om_node_t* AXIS2_CALL
+/*axis2_om_node_t* AXIS2_CALL
axis2_endpoint_ref_get_policies(struct axis2_endpoint_ref *endpoint_ref,
axis2_env_t **env);
@@ -120,8 +154,8 @@
axis2_endpoint_ref_set_policies(struct axis2_endpoint_ref *endpoint_ref,
axis2_env_t **env,
axis2_om_node_t *policies);
-
-axis2_any_content_type_t* AXIS2_CALL
+*/
+/*axis2_any_content_type_t* AXIS2_CALL
axis2_endpoint_ref_get_metadata(struct axis2_endpoint_ref *endpoint_ref,
axis2_env_t **env);
@@ -129,7 +163,7 @@
axis2_endpoint_ref_set_metadata(struct axis2_endpoint_ref *endpoint_ref,
axis2_env_t **env,
axis2_any_content_type_t *metadata);
-
+*/
/*axis2_status_t AXIS2_CALL
axis2_endpoint_ref_add_ref_param(struct axis2_endpoint_ref *endpoint_ref,
axis2_env_t **env,
@@ -162,13 +196,16 @@
endpoint_ref_impl->endpoint_ref.ops = NULL;
endpoint_ref_impl->address = NULL;
endpoint_ref_impl->interface_qname = NULL;
- endpoint_ref_impl->ref_properties = NULL;
- endpoint_ref_impl->ref_params = NULL;
+ /*endpoint_ref_impl->ref_properties = NULL;*/
+ /*endpoint_ref_impl->ref_params = NULL;*/
endpoint_ref_impl->ref_param_list = NULL;
endpoint_ref_impl->meta_data_list = NULL;
+ endpoint_ref_impl->ref_attribute_list = NULL;
+ endpoint_ref_impl->meta_attribute_list = NULL;
+ endpoint_ref_impl->extension_list = NULL;
endpoint_ref_impl->svc_name = NULL;
- endpoint_ref_impl->policies = NULL;
- endpoint_ref_impl->metadata = NULL;
+ /*endpoint_ref_impl->policies = NULL;*/
+ /*endpoint_ref_impl->metadata = NULL;*/
if (address)
{
@@ -197,6 +234,30 @@
return NULL;
}
+ endpoint_ref_impl->ref_attribute_list = axis2_array_list_create(env, 0);
+ if (!(endpoint_ref_impl->ref_attribute_list))
+ {
+ AXIS2_ERROR_SET((*env)->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE);
+ axis2_endpoint_ref_free(&(endpoint_ref_impl->endpoint_ref), env);
+ return NULL;
+ }
+
+ endpoint_ref_impl->meta_attribute_list = axis2_array_list_create(env, 0);
+ if (!(endpoint_ref_impl->meta_attribute_list))
+ {
+ AXIS2_ERROR_SET((*env)->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE);
+ axis2_endpoint_ref_free(&(endpoint_ref_impl->endpoint_ref), env);
+ return NULL;
+ }
+
+ endpoint_ref_impl->extension_list = axis2_array_list_create(env, 0);
+ if (!(endpoint_ref_impl->extension_list))
+ {
+ AXIS2_ERROR_SET((*env)->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE);
+ axis2_endpoint_ref_free(&(endpoint_ref_impl->endpoint_ref), env);
+ return NULL;
+ }
+
/* initialize ops */
endpoint_ref_impl->endpoint_ref.ops =
AXIS2_MALLOC( (*env)->allocator, sizeof(axis2_endpoint_ref_ops_t) );
@@ -219,35 +280,53 @@
endpoint_ref_impl->endpoint_ref.ops->set_interface_qname =
axis2_endpoint_ref_set_interface_qname;
- endpoint_ref_impl->endpoint_ref.ops->get_ref_properties =
+ endpoint_ref_impl->endpoint_ref.ops->get_ref_attribute_list =
+ axis2_endpoint_ref_get_ref_attribute_list;
+
+ endpoint_ref_impl->endpoint_ref.ops->get_meta_attribute_list =
+ axis2_endpoint_ref_get_meta_attribute_list;
+
+ endpoint_ref_impl->endpoint_ref.ops->get_extension_list =
+ axis2_endpoint_ref_get_extension_list;
+
+ endpoint_ref_impl->endpoint_ref.ops->add_ref_attribute =
+ axis2_endpoint_ref_add_ref_attribute;
+
+ endpoint_ref_impl->endpoint_ref.ops->add_meta_attribute =
+ axis2_endpoint_ref_add_meta_attribute;
+
+ endpoint_ref_impl->endpoint_ref.ops->add_extension =
+ axis2_endpoint_ref_add_extension;
+
+/* endpoint_ref_impl->endpoint_ref.ops->get_ref_properties =
axis2_endpoint_ref_get_ref_properties;
endpoint_ref_impl->endpoint_ref.ops->set_ref_properties =
axis2_endpoint_ref_set_ref_properties;
-
- endpoint_ref_impl->endpoint_ref.ops->get_ref_params =
+*/
+/* endpoint_ref_impl->endpoint_ref.ops->get_ref_params =
axis2_endpoint_ref_get_ref_params;
endpoint_ref_impl->endpoint_ref.ops->set_ref_params =
axis2_endpoint_ref_set_ref_params;
-
+*/
endpoint_ref_impl->endpoint_ref.ops->get_svc_name =
axis2_endpoint_ref_get_svc_name;
endpoint_ref_impl->endpoint_ref.ops->set_svc_name =
axis2_endpoint_ref_set_svc_name;
- endpoint_ref_impl->endpoint_ref.ops->get_policies =
+/* endpoint_ref_impl->endpoint_ref.ops->get_policies =
axis2_endpoint_ref_get_policies;
endpoint_ref_impl->endpoint_ref.ops->set_policies =
axis2_endpoint_ref_set_policies;
-
- endpoint_ref_impl->endpoint_ref.ops->get_metadata =
+*/
+/* endpoint_ref_impl->endpoint_ref.ops->get_metadata =
axis2_endpoint_ref_get_metadata;
endpoint_ref_impl->endpoint_ref.ops->set_metadata =
- axis2_endpoint_ref_set_metadata;
+ axis2_endpoint_ref_set_metadata;*/
endpoint_ref_impl->endpoint_ref.ops->get_ref_param_list =
axis2_endpoint_ref_get_ref_param_list;
@@ -330,20 +409,20 @@
/**
* Method get_ref_properties
*/
-axis2_any_content_type_t* AXIS2_CALL
+/*axis2_any_content_type_t* AXIS2_CALL
axis2_endpoint_ref_get_ref_properties(struct axis2_endpoint_ref *endpoint_ref,
axis2_env_t **env)
{
AXIS2_ENV_CHECK(env, NULL);
return AXIS2_INTF_TO_IMPL(endpoint_ref)->ref_properties;
-}
+}*/
/**
* Method set_ref_properties
*
* @param ref_properties
*/
-axis2_status_t AXIS2_CALL
+/*axis2_status_t AXIS2_CALL
axis2_endpoint_ref_set_ref_properties(struct axis2_endpoint_ref *endpoint_ref,
axis2_env_t **env,
axis2_any_content_type_t *ref_properties)
@@ -351,12 +430,12 @@
AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
AXIS2_INTF_TO_IMPL(endpoint_ref)->ref_properties = ref_properties;
return AXIS2_SUCCESS;
-}
+}*/
/**
* Method get_ref_params
*/
-axis2_any_content_type_t* AXIS2_CALL
+/*axis2_any_content_type_t* AXIS2_CALL
axis2_endpoint_ref_get_ref_params(struct axis2_endpoint_ref *endpoint_ref,
axis2_env_t **env)
{
@@ -372,7 +451,7 @@
AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
AXIS2_INTF_TO_IMPL(endpoint_ref)->ref_params = any_content_type;
return AXIS2_SUCCESS;
-}
+}*/
/**
* Method get_svc_name
@@ -400,7 +479,7 @@
return AXIS2_SUCCESS;
}
-axis2_om_node_t* AXIS2_CALL
+/*axis2_om_node_t* AXIS2_CALL
axis2_endpoint_ref_get_policies(struct axis2_endpoint_ref *endpoint_ref,
axis2_env_t **env)
{
@@ -416,9 +495,9 @@
AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
AXIS2_INTF_TO_IMPL(endpoint_ref)->policies = policies;
return AXIS2_SUCCESS;
-}
+}*/
-axis2_any_content_type_t* AXIS2_CALL
+/*axis2_any_content_type_t* AXIS2_CALL
axis2_endpoint_ref_get_metadata(struct axis2_endpoint_ref *endpoint_ref,
axis2_env_t **env)
{
@@ -434,7 +513,7 @@
AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
AXIS2_INTF_TO_IMPL(endpoint_ref)->metadata = metadata;
return AXIS2_SUCCESS;
-}
+}*/
/*axis2_status_t AXIS2_CALL
axis2_endpoint_ref_add_ref_param(struct axis2_endpoint_ref *endpoint_ref,
@@ -480,11 +559,11 @@
endpoint_ref_impl->address = NULL;
}
- if (endpoint_ref_impl->ref_params)
+ /*if (endpoint_ref_impl->ref_params)
{
AXIS2_ANY_CONTENT_TYPE_FREE(endpoint_ref_impl->ref_params, env);
endpoint_ref_impl->ref_params = NULL;
- }
+ }*/
if (endpoint_ref_impl->ref_param_list)
{
@@ -498,6 +577,25 @@
endpoint_ref_impl->meta_data_list = NULL;
}
+ if (endpoint_ref_impl->ref_attribute_list)
+ {
+ AXIS2_ARRAY_LIST_FREE(endpoint_ref_impl->ref_attribute_list, env);
+ endpoint_ref_impl->ref_attribute_list = NULL;
+ }
+
+ if (endpoint_ref_impl->meta_attribute_list)
+ {
+ AXIS2_ARRAY_LIST_FREE(endpoint_ref_impl->meta_attribute_list, env);
+ endpoint_ref_impl->meta_attribute_list = NULL;
+ }
+
+ if (endpoint_ref_impl->extension_list)
+ {
+ AXIS2_ARRAY_LIST_FREE(endpoint_ref_impl->extension_list, env);
+ endpoint_ref_impl->extension_list = NULL;
+ }
+
+
AXIS2_FREE((*env)->allocator, endpoint_ref_impl);
endpoint_ref_impl = NULL;
@@ -570,3 +668,98 @@
}
+axis2_array_list_t* AXIS2_CALL
+axis2_endpoint_ref_get_ref_attribute_list(struct axis2_endpoint_ref *endpoint_ref,
+ axis2_env_t **env)
+{
+ axis2_endpoint_ref_impl_t *endpoint_ref_impl = NULL;
+
+ AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
+
+ endpoint_ref_impl = AXIS2_INTF_TO_IMPL(endpoint_ref);
+
+ return endpoint_ref_impl->ref_attribute_list;
+}
+
+axis2_array_list_t* AXIS2_CALL
+axis2_endpoint_ref_get_meta_attribute_list(struct axis2_endpoint_ref *endpoint_ref,
+ axis2_env_t **env)
+{
+ axis2_endpoint_ref_impl_t *endpoint_ref_impl = NULL;
+
+ AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
+
+ endpoint_ref_impl = AXIS2_INTF_TO_IMPL(endpoint_ref);
+
+ return endpoint_ref_impl->meta_attribute_list;
+}
+
+axis2_array_list_t* AXIS2_CALL
+axis2_endpoint_ref_get_extension_list(struct axis2_endpoint_ref *endpoint_ref,
+ axis2_env_t **env)
+{
+ axis2_endpoint_ref_impl_t *endpoint_ref_impl = NULL;
+
+ AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
+
+ endpoint_ref_impl = AXIS2_INTF_TO_IMPL(endpoint_ref);
+
+ return endpoint_ref_impl->extension_list;
+}
+
+axis2_status_t AXIS2_CALL
+axis2_endpoint_ref_add_ref_attribute(struct axis2_endpoint_ref *endpoint_ref,
+ axis2_env_t **env,
+ axis2_om_attribute_t* attr)
+{
+ axis2_endpoint_ref_impl_t *endpoint_ref_impl = NULL;
+
+ AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
+
+ endpoint_ref_impl = AXIS2_INTF_TO_IMPL(endpoint_ref);
+
+ if (endpoint_ref_impl->ref_attribute_list && attr)
+ {
+ return AXIS2_ARRAY_LIST_ADD(endpoint_ref_impl->ref_attribute_list, env, attr);
+ }
+
+ return AXIS2_FAILURE;
+}
+
+axis2_status_t AXIS2_CALL
+axis2_endpoint_ref_add_meta_attribute(struct axis2_endpoint_ref *endpoint_ref,
+ axis2_env_t **env,
+ axis2_om_attribute_t* attr)
+{
+ axis2_endpoint_ref_impl_t *endpoint_ref_impl = NULL;
+
+ AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
+
+ endpoint_ref_impl = AXIS2_INTF_TO_IMPL(endpoint_ref);
+
+ if (endpoint_ref_impl->meta_attribute_list && attr)
+ {
+ return AXIS2_ARRAY_LIST_ADD(endpoint_ref_impl->meta_attribute_list, env, attr);
+ }
+
+ return AXIS2_FAILURE;
+}
+
+axis2_status_t AXIS2_CALL
+axis2_endpoint_ref_add_extension(struct axis2_endpoint_ref *endpoint_ref,
+ axis2_env_t **env,
+ axis2_om_node_t* extension_node)
+{
+ axis2_endpoint_ref_impl_t *endpoint_ref_impl = NULL;
+
+ AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
+
+ endpoint_ref_impl = AXIS2_INTF_TO_IMPL(endpoint_ref);
+
+ if (endpoint_ref_impl->extension_list && extension_node)
+ {
+ return AXIS2_ARRAY_LIST_ADD(endpoint_ref_impl->extension_list, env, extension_node);
+ }
+
+ return AXIS2_FAILURE;
+}
Modified: webservices/axis2/trunk/c/modules/mod_addr/addr_out_handler.c
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/mod_addr/addr_out_handler.c?rev=389730&r1=389729&r2=389730&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/mod_addr/addr_out_handler.c (original)
+++ webservices/axis2/trunk/c/modules/mod_addr/addr_out_handler.c Wed Mar 29 01:46:21 2006
@@ -276,7 +276,7 @@
}
- reference_parameters = AXIS2_ENDPOINT_REF_GET_REF_PARAMS (epr, env);
+ /*reference_parameters = AXIS2_ENDPOINT_REF_GET_REF_PARAMS (epr, env);
if (reference_parameters)
{
@@ -286,7 +286,7 @@
addr_ns);
axis2_addr_out_handler_add_to_header (env, epr, &soap_header_node,
addr_ns);
- }
+ }*/
}
@@ -331,7 +331,7 @@
if (svc_group_context_id
&& AXIS2_STRCMP (svc_group_context_id, "") != 0)
{
- axis2_any_content_type_t *any_content = NULL;
+ /*axis2_any_content_type_t *any_content = NULL;
axis2_qname_t *svc_qn = NULL;
if (!AXIS2_ENDPOINT_REF_GET_REF_PARAMS (epr, env))
{
@@ -345,7 +345,7 @@
AXIS2_NAMESPACE_URI,
AXIS2_NAMESPACE_PREFIX);
AXIS2_ANY_CONTENT_TYPE_ADD_VALUE (any_content, env, svc_qn,
- svc_group_context_id);
+ svc_group_context_id);*/
}
axis2_addr_out_handler_add_to_soap_header (env, epr,
@@ -640,6 +640,7 @@
{
axis2_om_node_t *reference_node = NULL;
axis2_om_element_t *reference_ele = NULL;
+ axis2_array_list_t *ref_attribute_list = NULL;
int i = 0;
addr_ns_obj = axis2_om_namespace_create (env, addr_ns, AXIS2_WSA_DEFAULT_PREFIX);
@@ -649,7 +650,22 @@
EPR_REFERENCE_PARAMETERS,
addr_ns_obj,
&reference_node);
- for (i = 0; i < AXIS2_ARRAY_LIST_SIZE(ref_param_list, env); i ++)
+
+ ref_attribute_list = AXIS2_ENDPOINT_REF_GET_REF_ATTRIBUTE_LIST(endpoint_ref, env);
+ if (ref_attribute_list)
+ {
+ int j = 0;
+ for (j = 0; j < AXIS2_ARRAY_LIST_SIZE(ref_attribute_list, env); j++)
+ {
+ axis2_om_attribute_t *attr = (axis2_om_attribute_t *)AXIS2_ARRAY_LIST_GET(ref_attribute_list, env, j);
+ if (attr)
+ {
+ AXIS2_OM_ELEMENT_ADD_ATTRIBUTE(reference_ele, env, attr, reference_node);
+ }
+ }
+ }
+
+ for (i = 0; i < AXIS2_ARRAY_LIST_SIZE(ref_param_list, env); i++)
{
axis2_om_node_t *ref_node = (axis2_om_node_t *)AXIS2_ARRAY_LIST_GET(ref_param_list, env, i);
if (ref_node)
@@ -657,6 +673,7 @@
AXIS2_OM_NODE_ADD_CHILD(reference_node, env, ref_node);
}
}
+
}
meta_data_list = AXIS2_ENDPOINT_REF_GET_META_DATA_LIST(endpoint_ref, env);
@@ -664,6 +681,7 @@
{
axis2_om_node_t *reference_node = NULL;
axis2_om_element_t *reference_ele = NULL;
+ axis2_array_list_t *meta_attribute_list = NULL;
int i = 0;
if (!reference_node) /* may be we alredy created this in ref params block */
@@ -677,6 +695,20 @@
&reference_node);
}
+ meta_attribute_list = AXIS2_ENDPOINT_REF_GET_META_ATTRIBUTE_LIST(endpoint_ref, env);
+ if (meta_attribute_list)
+ {
+ int j = 0;
+ for (j = 0; j < AXIS2_ARRAY_LIST_SIZE(meta_attribute_list, env); j++)
+ {
+ axis2_om_attribute_t *attr = (axis2_om_attribute_t *)AXIS2_ARRAY_LIST_GET(meta_attribute_list, env, j);
+ if (attr)
+ {
+ AXIS2_OM_ELEMENT_ADD_ATTRIBUTE(reference_ele, env, attr, reference_node);
+ }
+ }
+ }
+
for (i = 0; i < AXIS2_ARRAY_LIST_SIZE(meta_data_list, env); i ++)
{
axis2_om_node_t *ref_node = (axis2_om_node_t *)AXIS2_ARRAY_LIST_GET(meta_data_list, env, i);
@@ -685,6 +717,7 @@
AXIS2_OM_NODE_ADD_CHILD(reference_node, env, ref_node);
}
}
+
}
if (AXIS2_STRCMP (AXIS2_WSA_NAMESPACE_SUBMISSION, addr_ns) == 0)