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 ma...@apache.org on 2007/05/07 05:36:00 UTC
svn commit: r535725 - in /webservices/axis2/scratch/c/neethi:
axis2c/neethi/src/secpolicy/builder/ axis2c/src/core/description/
rampart/include/ rampart/samples/client/sec_echo/ rampart/src/handlers/
rampart/src/util/
Author: manjula
Date: Sun May 6 20:35:59 2007
New Revision: 535725
URL: http://svn.apache.org/viewvc?view=rev&rev=535725
Log:
Uploading the client side policy attaching and message level policy picking.
Added:
webservices/axis2/scratch/c/neethi/rampart/samples/client/sec_echo/echo_helper.c
webservices/axis2/scratch/c/neethi/rampart/samples/client/sec_echo/echo_helper.h
webservices/axis2/scratch/c/neethi/rampart/samples/client/sec_echo/policy.xml
Modified:
webservices/axis2/scratch/c/neethi/axis2c/neethi/src/secpolicy/builder/wss10_builder.c
webservices/axis2/scratch/c/neethi/axis2c/src/core/description/desc.c
webservices/axis2/scratch/c/neethi/axis2c/src/core/description/policy_include.c
webservices/axis2/scratch/c/neethi/rampart/include/rampart_neethi.h
webservices/axis2/scratch/c/neethi/rampart/samples/client/sec_echo/Makefile.am
webservices/axis2/scratch/c/neethi/rampart/samples/client/sec_echo/echo.c
webservices/axis2/scratch/c/neethi/rampart/src/handlers/rampart_in_handler.c
webservices/axis2/scratch/c/neethi/rampart/src/handlers/rampart_out_handler.c
webservices/axis2/scratch/c/neethi/rampart/src/util/rampart_neethi.c
Modified: webservices/axis2/scratch/c/neethi/axis2c/neethi/src/secpolicy/builder/wss10_builder.c
URL: http://svn.apache.org/viewvc/webservices/axis2/scratch/c/neethi/axis2c/neethi/src/secpolicy/builder/wss10_builder.c?view=diff&rev=535725&r1=535724&r2=535725
==============================================================================
--- webservices/axis2/scratch/c/neethi/axis2c/neethi/src/secpolicy/builder/wss10_builder.c (original)
+++ webservices/axis2/scratch/c/neethi/axis2c/neethi/src/secpolicy/builder/wss10_builder.c Sun May 6 20:35:59 2007
@@ -101,26 +101,22 @@
value = neethi_assertion_get_value(assertion, env);
type = neethi_assertion_get_type(assertion, env);
- if(value)
+ if(type == ASSERTION_TYPE_MUST_SUPPORT_REF_KEY_IDENTIFIER)
{
- if(type == ASSERTION_TYPE_MUST_SUPPORT_REF_KEY_IDENTIFIER)
- {
- rp_wss10_set_must_support_ref_key_identifier(wss10,env,AXIS2_TRUE);
- }
- else if(type == ASSERTION_TYPE_MUST_SUPPORT_REF_ISSUER_SERIAL)
- {
- rp_wss10_set_must_support_ref_issuer_serial(wss10,env,AXIS2_TRUE);
- }
- else if(type == ASSERTION_TYPE_MUST_SUPPORT_REF_EXTERNAL_URI)
- {
- rp_wss10_set_must_support_ref_external_uri(wss10,env,AXIS2_TRUE);
- }
- else if(type == ASSERTION_TYPE_MUST_SUPPORT_REF_EMBEDDED_TOKEN)
- {
- rp_wss10_set_must_support_ref_embedded_token(wss10,env,AXIS2_TRUE);
- }
- else return AXIS2_FAILURE;
- }
+ rp_wss10_set_must_support_ref_key_identifier(wss10,env,AXIS2_TRUE);
+ }
+ else if(type == ASSERTION_TYPE_MUST_SUPPORT_REF_ISSUER_SERIAL)
+ {
+ rp_wss10_set_must_support_ref_issuer_serial(wss10,env,AXIS2_TRUE);
+ }
+ else if(type == ASSERTION_TYPE_MUST_SUPPORT_REF_EXTERNAL_URI)
+ {
+ rp_wss10_set_must_support_ref_external_uri(wss10,env,AXIS2_TRUE);
+ }
+ else if(type == ASSERTION_TYPE_MUST_SUPPORT_REF_EMBEDDED_TOKEN)
+ {
+ rp_wss10_set_must_support_ref_embedded_token(wss10,env,AXIS2_TRUE);
+ }
else return AXIS2_FAILURE;
}
return AXIS2_SUCCESS;
Modified: webservices/axis2/scratch/c/neethi/axis2c/src/core/description/desc.c
URL: http://svn.apache.org/viewvc/webservices/axis2/scratch/c/neethi/axis2c/src/core/description/desc.c?view=diff&rev=535725&r1=535724&r2=535725
==============================================================================
--- webservices/axis2/scratch/c/neethi/axis2c/src/core/description/desc.c (original)
+++ webservices/axis2/scratch/c/neethi/axis2c/src/core/description/desc.c Sun May 6 20:35:59 2007
@@ -240,7 +240,8 @@
{
if (!desc->policy_include)
{
- desc->policy_include = axis2_policy_include_create(env);
+ /*desc->policy_include = axis2_policy_include_create(env);*/
+ desc->policy_include = axis2_policy_include_create_with_desc(env, desc);
}
return desc->policy_include;
}
Modified: webservices/axis2/scratch/c/neethi/axis2c/src/core/description/policy_include.c
URL: http://svn.apache.org/viewvc/webservices/axis2/scratch/c/neethi/axis2c/src/core/description/policy_include.c?view=diff&rev=535725&r1=535724&r2=535725
==============================================================================
--- webservices/axis2/scratch/c/neethi/axis2c/src/core/description/policy_include.c (original)
+++ webservices/axis2/scratch/c/neethi/axis2c/src/core/description/policy_include.c Sun May 6 20:35:59 2007
@@ -356,8 +356,13 @@
{
if (axis2_policy_include_get_policy(policy_include, env))
{
- result = (neethi_policy_t*) neethi_engine_merge(env, parent_policy,
- axis2_policy_include_get_policy(policy_include, env));
+ neethi_policy_t *temp_policy = NULL;
+ parent_policy = (neethi_policy_t *)neethi_engine_get_normalize(env, AXIS2_FALSE, parent_policy);
+ temp_policy = axis2_policy_include_get_policy(policy_include, env);
+ temp_policy = (neethi_policy_t *)neethi_engine_get_normalize(env, AXIS2_FALSE, temp_policy);
+ /* result = (neethi_policy_t*) neethi_engine_merge(env, parent_policy,
+ axis2_policy_include_get_policy(policy_include, env));*/
+ result = (neethi_policy_t*) neethi_engine_merge(env,parent_policy, temp_policy);
}
else
Modified: webservices/axis2/scratch/c/neethi/rampart/include/rampart_neethi.h
URL: http://svn.apache.org/viewvc/webservices/axis2/scratch/c/neethi/rampart/include/rampart_neethi.h?view=diff&rev=535725&r1=535724&r2=535725
==============================================================================
--- webservices/axis2/scratch/c/neethi/rampart/include/rampart_neethi.h (original)
+++ webservices/axis2/scratch/c/neethi/rampart/include/rampart_neethi.h Sun May 6 20:35:59 2007
@@ -36,7 +36,8 @@
AXIS2_EXTERN rampart_context_t *AXIS2_CALL
rampart_neethi_build_configuration(
const axutil_env_t *env,
- axis2_msg_ctx_t *msg_ctx);
+ axis2_msg_ctx_t *msg_ctx,
+ axis2_bool_t is_inflow);
#ifdef __cplusplus
}
Modified: webservices/axis2/scratch/c/neethi/rampart/samples/client/sec_echo/Makefile.am
URL: http://svn.apache.org/viewvc/webservices/axis2/scratch/c/neethi/rampart/samples/client/sec_echo/Makefile.am?view=diff&rev=535725&r1=535724&r2=535725
==============================================================================
--- webservices/axis2/scratch/c/neethi/rampart/samples/client/sec_echo/Makefile.am (original)
+++ webservices/axis2/scratch/c/neethi/rampart/samples/client/sec_echo/Makefile.am Sun May 6 20:35:59 2007
@@ -3,12 +3,13 @@
prgbin_PROGRAMS = echo
#samplesdir=$(prefix)/samples/client/echo
#samples_DATA=echo.c README.txt Makefile.am Makefile.in
-echo_SOURCES = echo.c
+echo_SOURCES = echo.c echo_helper.c
echo_LDADD = $(LDFLAGS) \
-L$(AXIS2C_HOME)/lib \
-laxutil \
-laxis2_axiom \
+ -lneethi \
-laxis2_engine \
-laxis2_parser \
-lpthread \
@@ -18,6 +19,7 @@
$(LIBXML2_LIBS)
INCLUDES = -I$(AXIS2C_HOME)/include/axis2-1.0 \
+ -I$(AXIS2C_HOME)/include/neethi-0.1 \
-I ../../../include \
@UTILINC@ \
@AXIOMINC@
Modified: webservices/axis2/scratch/c/neethi/rampart/samples/client/sec_echo/echo.c
URL: http://svn.apache.org/viewvc/webservices/axis2/scratch/c/neethi/rampart/samples/client/sec_echo/echo.c?view=diff&rev=535725&r1=535724&r2=535725
==============================================================================
--- webservices/axis2/scratch/c/neethi/rampart/samples/client/sec_echo/echo.c (original)
+++ webservices/axis2/scratch/c/neethi/rampart/samples/client/sec_echo/echo.c Sun May 6 20:35:59 2007
@@ -21,7 +21,7 @@
#include <axiom_soap.h>
#include <axis2_client.h>
#include <rampart_constants.h>
-
+#include "echo_helper.h"
axiom_node_t *
build_om_payload_for_echo_svc(const axutil_env_t *env);
@@ -37,6 +37,7 @@
axis2_svc_client_t* svc_client = NULL;
axiom_node_t *payload = NULL;
axiom_node_t *ret_node = NULL;
+ axis2_status_t status = AXIS2_FAILURE;
/* Set up the environment */
env = axutil_env_create_all("echo.log", AXIS2_LOG_LEVEL_TRACE);
@@ -107,6 +108,13 @@
/* Set service client options */
axis2_svc_client_set_options(svc_client, env, options);
+ status = echo_helper_set_policy(svc_client, env);
+
+ if(status == AXIS2_FAILURE)
+ {
+ printf("policy setting failed\n");
+ return 0;
+ }
/* Build the SOAP request message payload using OM API.*/
payload = build_om_payload_for_echo_svc(env);
Added: webservices/axis2/scratch/c/neethi/rampart/samples/client/sec_echo/echo_helper.c
URL: http://svn.apache.org/viewvc/webservices/axis2/scratch/c/neethi/rampart/samples/client/sec_echo/echo_helper.c?view=auto&rev=535725
==============================================================================
--- webservices/axis2/scratch/c/neethi/rampart/samples/client/sec_echo/echo_helper.c (added)
+++ webservices/axis2/scratch/c/neethi/rampart/samples/client/sec_echo/echo_helper.c Sun May 6 20:35:59 2007
@@ -0,0 +1,98 @@
+#include <axiom.h>
+#include <axutil_utils.h>
+#include <axutil_env.h>
+#include <axutil_log_default.h>
+#include <axutil_error_default.h>
+#include <stdio.h>
+#include <axiom_xml_reader.h>
+#include <neethi_engine.h>
+#include <axis2_policy_include.h>
+#include "echo_helper.h"
+
+AXIS2_EXTERN axis2_status_t AXIS2_CALL
+echo_helper_set_policy(axis2_svc_client_t* svc_client,
+ const axutil_env_t *env)
+{
+
+ axiom_xml_reader_t *reader = NULL;
+ axiom_stax_builder_t *builder = NULL;
+ axiom_document_t *document = NULL;
+ axiom_node_t *root = NULL;
+ axiom_element_t *root_ele = NULL;
+ axis2_svc_t *svc = NULL;
+ axis2_desc_t *desc = NULL;
+ axis2_policy_include_t *policy_include = NULL;
+
+ reader = axiom_xml_reader_create_for_file(env, "policy.xml", NULL);
+
+ if (!reader)
+ {
+ AXIS2_ERROR_SET(env->error, AXIS2_ERROR_CREATING_XML_STREAM_READER,
+ AXIS2_FAILURE);
+ printf("xml reader creation failed\n");
+ return AXIS2_FAILURE;
+ }
+
+ builder = axiom_stax_builder_create(env, reader);
+ if(!builder)
+ {
+ axiom_xml_reader_free(reader, env);
+ printf("Builder creation failed\n");
+ return AXIS2_FAILURE;
+ }
+ document = axiom_stax_builder_get_document(builder, env);
+ if(!document)
+ {
+ axiom_stax_builder_free(builder, env);
+ printf("Document creation failed\n");
+ return AXIS2_FAILURE;
+ }
+
+ root = axiom_document_build_all(document, env);
+ if(!root)
+ {
+ axiom_stax_builder_free(builder, env);
+ return AXIS2_FAILURE;
+ }
+
+ if(root)
+ {
+ if(axiom_node_get_node_type(root, env) == AXIOM_ELEMENT)
+ {
+ root_ele = (axiom_element_t*)axiom_node_get_data_element(root, env);
+ if(root_ele)
+ {
+ neethi_policy_t *neethi_policy = NULL;
+ neethi_policy = neethi_engine_get_policy(env, root, root_ele);
+ if(!neethi_policy)
+ {
+ printf("Policy Creation fails\n");
+ return AXIS2_FAILURE;
+ }
+ svc = axis2_svc_client_get_svc(svc_client, env);
+ if(!svc)
+ {
+ printf("service is NULL\n");
+ return AXIS2_FAILURE;
+ }
+ desc = axis2_svc_get_base(svc, env);
+ if(!desc)
+ {
+ printf("Description is NULL\n");
+ return AXIS2_FAILURE;
+ }
+ policy_include = axis2_desc_get_policy_include(desc, env);
+ if(!policy_include)
+ {
+ printf("Policy include is NULL");
+ return AXIS2_FAILURE;
+ }
+ axis2_policy_include_add_policy_element(policy_include, env, AXIS2_SERVICE_POLICY, neethi_policy);
+ }
+ }
+ }
+ printf("Successful\n");
+ return AXIS2_SUCCESS;
+}
+
+
Added: webservices/axis2/scratch/c/neethi/rampart/samples/client/sec_echo/echo_helper.h
URL: http://svn.apache.org/viewvc/webservices/axis2/scratch/c/neethi/rampart/samples/client/sec_echo/echo_helper.h?view=auto&rev=535725
==============================================================================
--- webservices/axis2/scratch/c/neethi/rampart/samples/client/sec_echo/echo_helper.h (added)
+++ webservices/axis2/scratch/c/neethi/rampart/samples/client/sec_echo/echo_helper.h Sun May 6 20:35:59 2007
@@ -0,0 +1,28 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You 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 ECHO_HELPER_H
+#define ECHO_HELPER_H
+
+
+#include <axis2_svc_client.h>
+
+AXIS2_EXTERN axis2_status_t AXIS2_CALL
+echo_helper_set_policy(axis2_svc_client_t* svc_client,
+ const axutil_env_t *env);
+
+
+#endif /* ECHO_HELPER*/
Added: webservices/axis2/scratch/c/neethi/rampart/samples/client/sec_echo/policy.xml
URL: http://svn.apache.org/viewvc/webservices/axis2/scratch/c/neethi/rampart/samples/client/sec_echo/policy.xml?view=auto&rev=535725
==============================================================================
--- webservices/axis2/scratch/c/neethi/rampart/samples/client/sec_echo/policy.xml (added)
+++ webservices/axis2/scratch/c/neethi/rampart/samples/client/sec_echo/policy.xml Sun May 6 20:35:59 2007
@@ -0,0 +1,68 @@
+<wsp:Policy xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy">
+ <wsp:ExactlyOne>
+ <wsp:All>
+ <sp:AsymmetricBinding xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
+ <wsp:Policy>
+ <sp:InitiatorToken>
+ <wsp:Policy>
+ <sp:X509Token sp:IncludeToken="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/Always">
+ <wsp:Policy>
+ <sp:WssX509V3Token10/>
+ </wsp:Policy>
+ </sp:X509Token>
+ </wsp:Policy>
+ </sp:InitiatorToken>
+ <sp:RecipientToken>
+ <wsp:Policy>
+ <sp:X509Token sp:IncludeToken="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/Always">
+ <wsp:Policy>
+ <sp:WssX509V3Token10/>
+ </wsp:Policy>
+ </sp:X509Token>
+ </wsp:Policy>
+ </sp:RecipientToken>
+ <sp:AlgorithmSuite>
+ <wsp:Policy>
+ <sp:Basic256Rsa15/>
+ </wsp:Policy>
+ </sp:AlgorithmSuite>
+ <sp:Layout>
+ <wsp:Policy>
+ <sp:Strict/>
+ </wsp:Policy>
+ </sp:Layout>
+ <sp:IncludeTimestamp/>
+ <sp:EncryptBeforeSigning/>
+ </wsp:Policy>
+ </sp:AsymmetricBinding>
+ <sp:SignedSupportingTokens xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
+ <wsp:Policy>
+ <sp:UsernameToken sp:IncludeToken="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/Always"/>
+ </wsp:Policy>
+ </sp:SignedSupportingTokens>
+ <sp:Wss10 xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
+ <wsp:Policy>
+ <sp:MustSupportRefKeyIdentifier/>
+ <sp:MustSupportRefEmbeddedToken/>
+ <sp:MustSupportRefIssuerSerial/>
+ </wsp:Policy>
+ </sp:Wss10>
+ <sp:EncryptedParts xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
+ <sp:Body/>
+ </sp:EncryptedParts>
+ <sp:SignedParts xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
+ <sp:Body/>
+ </sp:SignedParts>
+ <rampc:RampartConfig xmlns:rampc="http://ws.apache.org/rampart/c/policy">
+ <rampc:User>Gampola</rampc:User>
+ <rampc:TimeToLive>360</rampc:TimeToLive>
+ <rampc:EncryptionUser>b</rampc:EncryptionUser>
+ <rampc:PasswordType>Digest</rampc:PasswordType>
+ <rampc:PasswordCallbackClass>/home/manjula/axis2/c/deploy/bin/samples/rampart/callback/libpwcb.so</rampc:PasswordCallbackClass>
+ <rampc:ReceiverCertificate>/home/manjula/axis2/c/deploy/bin/samples/rampart/keys/ahome/b_cert.cert</rampc:ReceiverCertificate>
+ <rampc:Certificate>/home/manjula/axis2/c/deploy/bin/samples/rampart/keys/ahome/a_cert.cert</rampc:Certificate>
+ <rampc:PrivateKey>/home/manjula/axis2/c/deploy/bin/samples/rampart/keys/ahome/a_key.pem</rampc:PrivateKey>
+ </rampc:RampartConfig>
+ </wsp:All>
+ </wsp:ExactlyOne>
+</wsp:Policy>
Modified: webservices/axis2/scratch/c/neethi/rampart/src/handlers/rampart_in_handler.c
URL: http://svn.apache.org/viewvc/webservices/axis2/scratch/c/neethi/rampart/src/handlers/rampart_in_handler.c?view=diff&rev=535725&r1=535724&r2=535725
==============================================================================
--- webservices/axis2/scratch/c/neethi/rampart/src/handlers/rampart_in_handler.c (original)
+++ webservices/axis2/scratch/c/neethi/rampart/src/handlers/rampart_in_handler.c Sun May 6 20:35:59 2007
@@ -125,12 +125,16 @@
AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI,
"[rampart][rampart_in_handler] Unable to set the security processed results");
}
- rampart_context = rampart_neethi_build_configuration(env, msg_ctx);
-/*
- rampart_context = rampart_engine_init(env,msg_ctx,AXIS2_TRUE);
+ rampart_context = rampart_neethi_build_configuration(env, msg_ctx, AXIS2_TRUE);
+
+/* rampart_context = rampart_engine_init(env,msg_ctx,AXIS2_TRUE);*/
+
if(!rampart_context)
+ {
+ AXIS2_LOG_INFO(env->log, "[rampart][rampart_in_handler] ramaprt_context creation failed.");
return AXIS2_FAILURE;
-*/
+ }
+
status = rampart_shp_process_message(env, msg_ctx, rampart_context,
soap_envelope, sec_node);
Modified: webservices/axis2/scratch/c/neethi/rampart/src/handlers/rampart_out_handler.c
URL: http://svn.apache.org/viewvc/webservices/axis2/scratch/c/neethi/rampart/src/handlers/rampart_out_handler.c?view=diff&rev=535725&r1=535724&r2=535725
==============================================================================
--- webservices/axis2/scratch/c/neethi/rampart/src/handlers/rampart_out_handler.c (original)
+++ webservices/axis2/scratch/c/neethi/rampart/src/handlers/rampart_out_handler.c Sun May 6 20:35:59 2007
@@ -30,7 +30,7 @@
#include <rampart_encryption.h>
#include <rampart_sec_header_builder.h>
#include <rampart_context.h>
-
+#include <rampart_neethi.h>
/*********************** Function headers *********************************/
AXIS2_EXTERN axis2_status_t AXIS2_CALL
@@ -120,6 +120,15 @@
AXIS2_LOG_INFO(env->log, "[rampart][rampart_out_handler] Not intended for processing in Rampart");
return AXIS2_SUCCESS;
}
+
+ rampart_context = rampart_neethi_build_configuration(env, msg_ctx, AXIS2_FALSE);
+
+ if(!rampart_context)
+ {
+ AXIS2_LOG_INFO(env->log, "[rampart][rampart_out_handler] ramaprt_context creation failed.");
+ return AXIS2_FAILURE;
+ }
+
/*
rampart_context = rampart_engine_init(env,msg_ctx,AXIS2_FALSE);
if(!rampart_context)
Modified: webservices/axis2/scratch/c/neethi/rampart/src/util/rampart_neethi.c
URL: http://svn.apache.org/viewvc/webservices/axis2/scratch/c/neethi/rampart/src/util/rampart_neethi.c?view=diff&rev=535725&r1=535724&r2=535725
==============================================================================
--- webservices/axis2/scratch/c/neethi/rampart/src/util/rampart_neethi.c (original)
+++ webservices/axis2/scratch/c/neethi/rampart/src/util/rampart_neethi.c Sun May 6 20:35:59 2007
@@ -30,7 +30,7 @@
#include <rampart_util.h>
#include <rampart_constants.h>
#include <rampart_callback.h>
-
+#include <axis2_msg.h>
/*This method sets all the configurations
loads required modules and start rampart.*/
@@ -39,7 +39,8 @@
AXIS2_EXTERN rampart_context_t *AXIS2_CALL
rampart_neethi_build_configuration(
const axutil_env_t *env,
- axis2_msg_ctx_t *msg_ctx)
+ axis2_msg_ctx_t *msg_ctx,
+ axis2_bool_t is_inflow)
{
axis2_svc_t *svc = NULL;
@@ -53,6 +54,8 @@
axis2_char_t *pwcb_module_name = NULL;
axis2_char_t *authn_provider_name = NULL;
axis2_status_t status = AXIS2_SUCCESS;
+ axis2_op_t *op = NULL;
+ axis2_msg_t *msg = NULL;
svc = axis2_msg_ctx_get_svc(msg_ctx,env);
if(!svc)
@@ -61,7 +64,30 @@
return NULL;
}
- desc = axis2_svc_get_base(svc, env);
+ op = axis2_msg_ctx_get_op(msg_ctx, env);
+ if(!op)
+ {
+ AXIS2_LOG_INFO(env->log, "[rampart][rampart_neethi] Operation is NULL.");
+ return NULL;
+ }
+
+ if(is_inflow)
+ {
+ msg = axis2_op_get_msg(op, env, "in");
+ }
+ else
+ {
+ msg = axis2_op_get_msg(op, env, "out");
+ }
+
+ if(!msg)
+ {
+ AXIS2_LOG_INFO(env->log, "[rampart][rampart_neethi] Message is NULL.");
+ return NULL;
+ }
+
+ /*desc = axis2_svc_get_base(svc, env);*/
+ desc = axis2_msg_get_base(msg, env);
if(!desc)
{
AXIS2_LOG_INFO(env->log, "[rampart][rampart_neethi] axis2 description is NULL.");
---------------------------------------------------------------------
To unsubscribe, e-mail: axis-cvs-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-cvs-help@ws.apache.org