You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by ma...@apache.org on 2007/06/20 05:04:58 UTC
svn commit: r548904 - in /webservices/axis2/trunk/c:
include/axis2_svc_client.h neethi/src/Makefile.am
src/core/clientapi/svc_client.c
Author: manjula
Date: Tue Jun 19 20:04:57 2007
New Revision: 548904
URL: http://svn.apache.org/viewvc?view=rev&rev=548904
Log:
Adding a method to svc_client to return a policy object.
Modified:
webservices/axis2/trunk/c/include/axis2_svc_client.h
webservices/axis2/trunk/c/neethi/src/Makefile.am
webservices/axis2/trunk/c/src/core/clientapi/svc_client.c
Modified: webservices/axis2/trunk/c/include/axis2_svc_client.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/include/axis2_svc_client.h?view=diff&rev=548904&r1=548903&r2=548904
==============================================================================
--- webservices/axis2/trunk/c/include/axis2_svc_client.h (original)
+++ webservices/axis2/trunk/c/include/axis2_svc_client.h Tue Jun 19 20:04:57 2007
@@ -53,6 +53,7 @@
#include <axis2_conf_ctx.h>
#include <axis2_op_client.h>
#include <axutil_string.h>
+#include <neethi_policy.h>
/** Name of anonymous service */
#define AXIS2_ANON_SERVICE "__ANONYMOUS_SERVICE__"
@@ -515,24 +516,25 @@
* @param root_node pointer to a policy node
* @return AXIS2_FAILURE if there was a fault, else AXIS2_SUCCESS
*/
- AXIS2_EXTERN axis2_status_t AXIS2_CALL
- axis2_svc_client_set_policy_from_om(axis2_svc_client_t *svc_client,
+
+ AXIS2_EXTERN axis2_status_t AXIS2_CALL
+ axis2_svc_client_set_policy_from_om(axis2_svc_client_t *svc_client,
const axutil_env_t *env,
axiom_node_t *root_node);
-
+
/**
- * Create a policy object and set it to the description hierarchy
+ * Set the given policy object to the description hierarchy
* @param svc_client pointer to service_client struct
* @param env pointer to environemt struct
- * @param file_name pointer to a string which is a policy file name
+ * @param policy neethi_policy_t to a policy struct
* @return AXIS2_FAILURE if there was a fault, else AXIS2_SUCCESS
*/
AXIS2_EXTERN axis2_status_t AXIS2_CALL
- axis2_svc_client_set_policy_from_file(axis2_svc_client_t *svc_client,
+ axis2_svc_client_set_policy(axis2_svc_client_t *svc_client,
const axutil_env_t *env,
- axis2_char_t *file_name);
-
+ neethi_policy_t *policy);
+
Modified: webservices/axis2/trunk/c/neethi/src/Makefile.am
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/neethi/src/Makefile.am?view=diff&rev=548904&r1=548903&r2=548904
==============================================================================
--- webservices/axis2/trunk/c/neethi/src/Makefile.am (original)
+++ webservices/axis2/trunk/c/neethi/src/Makefile.am Tue Jun 19 20:04:57 2007
@@ -9,7 +9,8 @@
policy.c \
reference.c \
registry.c \
- assertion_builder.c
+ assertion_builder.c \
+ util.c
libneethi_la_LIBADD = ../../axiom/src/om/libaxis2_axiom.la \
../../util/src/libaxutil.la \
Modified: webservices/axis2/trunk/c/src/core/clientapi/svc_client.c
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/src/core/clientapi/svc_client.c?view=diff&rev=548904&r1=548903&r2=548904
==============================================================================
--- webservices/axis2/trunk/c/src/core/clientapi/svc_client.c (original)
+++ webservices/axis2/trunk/c/src/core/clientapi/svc_client.c Tue Jun 19 20:04:57 2007
@@ -34,7 +34,7 @@
#include <stdio.h>
#include <axutil_generic_obj.h>
#include <axis2_http_transport.h>
-#include <neethi_engine.h>
+#include <neethi_util.h>
#include <axis2_policy_include.h>
struct axis2_svc_client
@@ -1339,89 +1339,50 @@
axiom_node_t *root_node)
{
- axiom_element_t *root_ele = NULL;
- axis2_svc_t *svc = NULL;
- axis2_desc_t *desc = NULL;
- axis2_policy_include_t *policy_include = NULL;
-
+ neethi_policy_t *neethi_policy = NULL;
+
+ neethi_policy = neethi_util_create_policy_from_om(env, root_node);
- if(axiom_node_get_node_type(root_node, env) == AXIOM_ELEMENT)
+ if(neethi_policy)
{
- root_ele = (axiom_element_t*)axiom_node_get_data_element(root_node, env);
- if(root_ele)
- {
- neethi_policy_t *neethi_policy = NULL;
- neethi_policy = neethi_engine_get_policy(env, root_node, root_ele);
- if(!neethi_policy)
- {
- return AXIS2_FAILURE;
- }
- svc = axis2_svc_client_get_svc(svc_client, env);
- if(!svc)
- {
- return AXIS2_FAILURE;
- }
- desc = axis2_svc_get_base(svc, env);
- if(!desc)
- {
- return AXIS2_FAILURE;
- }
- policy_include = axis2_desc_get_policy_include(desc, env);
- if(!policy_include)
- {
- return AXIS2_FAILURE;
- }
- axis2_policy_include_add_policy_element(policy_include, env, AXIS2_SERVICE_POLICY, neethi_policy);
- return AXIS2_SUCCESS;
- }
- else
- return AXIS2_FAILURE;
+ return axis2_svc_client_set_policy(svc_client, env, neethi_policy);
+ }
+ else
+ {
+ return AXIS2_FAILURE;
}
-
- return AXIS2_FAILURE;
}
+
AXIS2_EXTERN axis2_status_t AXIS2_CALL
-axis2_svc_client_set_policy_from_file(axis2_svc_client_t *svc_client,
+axis2_svc_client_set_policy(axis2_svc_client_t *svc_client,
const axutil_env_t *env,
- axis2_char_t *file_name)
+ neethi_policy_t *policy)
{
- axiom_xml_reader_t *reader = NULL;
- axiom_stax_builder_t *builder = NULL;
- axiom_document_t *document = NULL;
- axiom_node_t *root_node = NULL;
-
-
- reader = axiom_xml_reader_create_for_file(env, file_name, NULL);
+ axis2_svc_t *svc = NULL;
+ axis2_desc_t *desc = NULL;
+ axis2_policy_include_t *policy_include = NULL;
- if (!reader)
- {
- AXIS2_ERROR_SET(env->error, AXIS2_ERROR_CREATING_XML_STREAM_READER,
- AXIS2_FAILURE);
- return AXIS2_FAILURE;
- }
+ svc = axis2_svc_client_get_svc(svc_client, env);
- builder = axiom_stax_builder_create(env, reader);
- if(!builder)
+ if(!svc)
{
- axiom_xml_reader_free(reader, env);
return AXIS2_FAILURE;
}
- document = axiom_stax_builder_get_document(builder, env);
- if(!document)
+ desc = axis2_svc_get_base(svc, env);
+ if(!desc)
{
- axiom_stax_builder_free(builder, env);
return AXIS2_FAILURE;
}
- root_node = axiom_document_build_all(document, env);
- if(!root_node)
+ policy_include = axis2_desc_get_policy_include(desc, env);
+ if(!policy_include)
{
- axiom_stax_builder_free(builder, env);
return AXIS2_FAILURE;
}
-
- return axis2_svc_client_set_policy_from_om(svc_client, env, root_node);
+ axis2_policy_include_add_policy_element(policy_include, env, AXIS2_SERVICE_POLICY, policy);
+ return AXIS2_SUCCESS;
}
+
---------------------------------------------------------------------
To unsubscribe, e-mail: axis-cvs-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-cvs-help@ws.apache.org