You are viewing a plain text version of this content. The canonical link for it is here.
Posted to sandesha-dev@ws.apache.org by da...@apache.org on 2008/08/29 08:56:38 UTC
svn commit: r690127 [11/11] - in /webservices/sandesha/trunk/c: ./
build/win32/ config/ ides/vc8/sandesha2/sandesha2/ include/
include/sandesha2/ samples/ samples/RMSampleService/ samples/rm_echo_1_0/
samples/rm_echo_1_0_large_sequence/ samples/rm_echo...
Modified: webservices/sandesha/trunk/c/src/wsrm/identifier.c
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/src/wsrm/identifier.c?rev=690127&r1=690126&r2=690127&view=diff
==============================================================================
--- webservices/sandesha/trunk/c/src/wsrm/identifier.c (original)
+++ webservices/sandesha/trunk/c/src/wsrm/identifier.c Thu Aug 28 23:56:29 2008
@@ -83,12 +83,15 @@
AXIS2_FREE(env->allocator, identifier->ns_val);
identifier->ns_val = NULL;
}
+
if(identifier->str_id)
{
AXIS2_FREE(env->allocator, identifier->str_id);
identifier->str_id = NULL;
}
+
AXIS2_FREE(env->allocator, identifier);
+
return AXIS2_SUCCESS;
}
@@ -116,47 +119,60 @@
AXIS2_PARAM_CHECK(env->error, om_node, NULL);
om_element = axiom_node_get_data_element(om_node, env);
- if(NULL == om_element)
+ if(!om_element)
{
- AXIS2_ERROR_SET(env->error, SANDESHA2_ERROR_NULL_OM_ELEMENT,
- AXIS2_FAILURE);
+ AXIS2_ERROR_SET(env->error, SANDESHA2_ERROR_NULL_OM_ELEMENT, AXIS2_FAILURE);
return NULL;
}
- ident_qname = axutil_qname_create(env, SANDESHA2_WSRM_COMMON_IDENTIFIER,
- identifier->ns_val, NULL);
- if(NULL == ident_qname)
+
+ ident_qname = axutil_qname_create(env, SANDESHA2_WSRM_COMMON_IDENTIFIER, identifier->ns_val,
+ NULL);
+
+ if(!ident_qname)
{
return NULL;
}
- ident_part = axiom_element_get_first_child_with_qname(om_element, env,
- ident_qname, om_node, &ident_node);
+
+ ident_part = axiom_element_get_first_child_with_qname(om_element, env, ident_qname, om_node,
+ &ident_node);
+
if(ident_qname)
+ {
axutil_qname_free(ident_qname, env);
- if(NULL == ident_part)
+ }
+
+ if(!ident_part)
{
- AXIS2_ERROR_SET(env->error, SANDESHA2_ERROR_NULL_OM_ELEMENT,
- AXIS2_FAILURE);
+ AXIS2_ERROR_SET(env->error, SANDESHA2_ERROR_NULL_OM_ELEMENT, AXIS2_FAILURE);
return NULL;
}
+
ident_str = axiom_element_get_text(ident_part, env, ident_node);
- if(NULL == ident_str)
+ if(!ident_str)
{
- AXIS2_ERROR_SET(env->error, SANDESHA2_ERROR_EMPTY_OM_ELEMENT,
- AXIS2_FAILURE);
+ AXIS2_ERROR_SET(env->error, SANDESHA2_ERROR_EMPTY_OM_ELEMENT, AXIS2_FAILURE);
return NULL;
}
+
+ if(identifier->str_id)
+ {
+ AXIS2_FREE(env->allocator, identifier->str_id);
+ }
+
identifier->str_id = axutil_strdup(env, ident_str);
- if(NULL == identifier->str_id)
+ if(!identifier->str_id)
{
return NULL;
}
+
return identifier;
}
axiom_node_t* AXIS2_CALL
sandesha2_identifier_to_om_node(
sandesha2_identifier_t *identifier,
- const axutil_env_t *env, void *om_node)
+ const axutil_env_t *env,
+ void *om_node)
{
axiom_namespace_t *rm_ns = NULL;
axiom_element_t *id_element = NULL;
@@ -164,28 +180,27 @@
AXIS2_PARAM_CHECK(env->error, om_node, NULL);
- if(!identifier->str_id || 0 == axutil_strlen(
- identifier->str_id))
+ if(!identifier->str_id || 0 == axutil_strlen(identifier->str_id))
{
- AXIS2_ERROR_SET(env->error, SANDESHA2_ERROR_TO_OM_NULL_ELEMENT,
- AXIS2_FAILURE);
+ AXIS2_ERROR_SET(env->error, SANDESHA2_ERROR_TO_OM_NULL_ELEMENT, AXIS2_FAILURE);
return NULL;
}
- rm_ns = axiom_namespace_create(env, identifier->ns_val,
- SANDESHA2_WSRM_COMMON_NS_PREFIX_RM);
+
+ rm_ns = axiom_namespace_create(env, identifier->ns_val, SANDESHA2_WSRM_COMMON_NS_PREFIX_RM);
if(!rm_ns)
{
return NULL;
}
- id_element = axiom_element_create(env, NULL,
- SANDESHA2_WSRM_COMMON_IDENTIFIER, rm_ns, &id_node);
+
+ id_element = axiom_element_create(env, (axiom_node_t *) om_node,
+ SANDESHA2_WSRM_COMMON_IDENTIFIER, rm_ns, &id_node);
if(!id_element)
{
return NULL;
}
- axiom_element_set_text(id_element, env, identifier->str_id,
- id_node);
- axiom_node_add_child((axiom_node_t*)om_node, env, id_node);
+
+ axiom_element_set_text(id_element, env, identifier->str_id, id_node);
+
return (axiom_node_t*)om_node;
}
@@ -222,7 +237,7 @@
{
return AXIS2_TRUE;
}
- if(0 == axutil_strcmp(namespace, SANDESHA2_SPEC_2006_08_NS_URI))
+ if(0 == axutil_strcmp(namespace, SANDESHA2_SPEC_2007_02_NS_URI))
{
return AXIS2_TRUE;
}
Modified: webservices/sandesha/trunk/c/src/wsrm/last_msg.c
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/src/wsrm/last_msg.c?rev=690127&r1=690126&r2=690127&view=diff
==============================================================================
--- webservices/sandesha/trunk/c/src/wsrm/last_msg.c (original)
+++ webservices/sandesha/trunk/c/src/wsrm/last_msg.c Thu Aug 28 23:56:29 2008
@@ -173,7 +173,7 @@
{
return AXIS2_TRUE;
}
- if(0 == axutil_strcmp(namespace, SANDESHA2_SPEC_2006_08_NS_URI))
+ if(0 == axutil_strcmp(namespace, SANDESHA2_SPEC_2007_02_NS_URI))
{
return AXIS2_TRUE;
}
Modified: webservices/sandesha/trunk/c/src/wsrm/make_connection.c
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/src/wsrm/make_connection.c?rev=690127&r1=690126&r2=690127&view=diff
==============================================================================
--- webservices/sandesha/trunk/c/src/wsrm/make_connection.c (original)
+++ webservices/sandesha/trunk/c/src/wsrm/make_connection.c Thu Aug 28 23:56:29 2008
@@ -29,7 +29,7 @@
struct sandesha2_make_connection_t
{
sandesha2_identifier_t *identifier;
- sandesha2_address_t *address;
+ sandesha2_mc_address_t *address;
axis2_char_t *ns_val;
};
@@ -169,13 +169,13 @@
}
if(address_element)
{
- make_conn->address = sandesha2_address_create(env,
+ make_conn->address = sandesha2_mc_address_create(env,
make_conn->ns_val, NULL);
if(!make_conn->address)
{
return NULL;
}
- sandesha2_address_from_om_node(make_conn->address, env, om_node);
+ sandesha2_mc_address_from_om_node(make_conn->address, env, om_node);
}
return make_conn;
}
@@ -194,33 +194,45 @@
AXIS2_PARAM_CHECK(env->error, om_node, NULL);
soap_body = (axiom_soap_body_t*)om_node;
+
if(!make_conn->identifier && !make_conn->address)
{
AXIS2_ERROR_SET(env->error,
- SANDESHA2_ERROR_INVALID_MAKE_CONNECTION_BOTH_IDENTIFER_AND_ADDRESS_NULL,
- AXIS2_FAILURE);
- AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Invalid MakeConnection " \
- "object. Both Identifier and Address are null");
+ SANDESHA2_ERROR_INVALID_MAKE_CONNECTION_BOTH_IDENTIFER_AND_ADDRESS_NULL, AXIS2_FAILURE);
+
+ AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI,
+ "Invalid MakeConnection object. Both Identifier and Address are null");
return NULL;
}
- rm_ns = axiom_namespace_create(env, make_conn->ns_val,
- SANDESHA2_WSRM_COMMON_NS_PREFIX_RM);
+
+ rm_ns = axiom_namespace_create(env, make_conn->ns_val, SANDESHA2_WSMC_COMMON_NS_PREFIX_RM);
if(!rm_ns)
{
+ AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "[sandesha2] Creating namespace for make connection failed");
return NULL;
}
- make_conn_element = axiom_element_create(env, NULL,
- SANDESHA2_WSRM_COMMON_MAKE_CONNECTION, rm_ns, &make_conn_node);
+
+ make_conn_element = axiom_element_create(env, NULL, SANDESHA2_WSRM_COMMON_MAKE_CONNECTION,
+ rm_ns, &make_conn_node);
+
if(!make_conn_element)
{
+ AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "[sandesha2] Creating make connection element failed");
return NULL;
}
+
if(make_conn->identifier)
- sandesha2_identifier_to_om_node(make_conn->identifier, env,
- make_conn_node);
+ {
+ sandesha2_identifier_to_om_node(make_conn->identifier, env, make_conn_node);
+ }
+
if(make_conn->address)
- sandesha2_address_to_om_node(make_conn->address, env, make_conn_node);
+ {
+ sandesha2_mc_address_to_om_node(make_conn->address, env, make_conn_node);
+ }
+
axiom_soap_body_add_child(soap_body, env, make_conn_node);
+
return axiom_soap_body_get_base_node(soap_body, env);
}
@@ -242,7 +254,7 @@
return AXIS2_SUCCESS;
}
-sandesha2_address_t * AXIS2_CALL
+sandesha2_mc_address_t * AXIS2_CALL
sandesha2_make_connection_get_address(
sandesha2_make_connection_t *make_conn,
const axutil_env_t *env)
@@ -254,7 +266,7 @@
sandesha2_make_connection_set_address(
sandesha2_make_connection_t *make_conn,
const axutil_env_t *env,
- sandesha2_address_t *address)
+ sandesha2_mc_address_t *address)
{
make_conn->address = address;
return AXIS2_SUCCESS;
@@ -274,7 +286,7 @@
axutil_qname_t *make_conn_qname = NULL;
AXIS2_PARAM_CHECK(env->error, envelope, AXIS2_FAILURE);
-
+
soap_body = axiom_soap_envelope_get_body(envelope, env);
if(soap_body)
body_node = axiom_soap_body_get_base_node(soap_body, env);
@@ -284,6 +296,7 @@
SANDESHA2_WSRM_COMMON_MAKE_CONNECTION, make_conn->ns_val, NULL);
if(!make_conn_qname)
{
+ AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "[sandesha2] Could not create qname for make connection");
return AXIS2_FAILURE;
}
if(body_element)
@@ -296,6 +309,7 @@
*/
if(node)
axiom_node_detach(node, env);
+
sandesha2_make_connection_to_om_node(make_conn, env, soap_body);
return AXIS2_SUCCESS;
}
@@ -305,14 +319,21 @@
const axutil_env_t *env,
axis2_char_t *namespace)
{
- if(0 == axutil_strcmp(namespace, SANDESHA2_SPEC_2005_02_NS_URI))
+ if(!axutil_strcmp(namespace, SANDESHA2_SPEC_2005_02_NS_URI))
{
return AXIS2_FALSE;
}
- if(0 == axutil_strcmp(namespace, SANDESHA2_SPEC_2006_08_NS_URI))
+
+ if(!axutil_strcmp(namespace, SANDESHA2_SPEC_2007_02_NS_URI))
+ {
+ return AXIS2_FALSE;
+ }
+
+ if(!axutil_strcmp(namespace, MAKE_CONNECTION_SPEC_2007_02_NS_URI))
{
return AXIS2_TRUE;
}
+
return AXIS2_FALSE;
}
Modified: webservices/sandesha/trunk/c/src/wsrm/msg_number.c
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/src/wsrm/msg_number.c?rev=690127&r1=690126&r2=690127&view=diff
==============================================================================
--- webservices/sandesha/trunk/c/src/wsrm/msg_number.c (original)
+++ webservices/sandesha/trunk/c/src/wsrm/msg_number.c Thu Aug 28 23:56:29 2008
@@ -160,7 +160,8 @@
axiom_namespace_t *rm_ns = NULL;
axiom_element_t *mn_element = NULL;
axiom_node_t *mn_node = NULL;
- axis2_char_t *str_num = NULL;
+ /*axis2_char_t *str_num = NULL;*/
+ axis2_char_t str_num[32];
AXIS2_PARAM_CHECK(env->error, om_node, NULL);
@@ -182,7 +183,8 @@
{
return NULL;
}
- str_num = AXIS2_MALLOC(env->allocator, 32*sizeof(axis2_char_t));
+
+ /*str_num = AXIS2_MALLOC(env->allocator, 32 * sizeof(axis2_char_t));*/
sprintf(str_num, "%ld", msg_number->msg_num);
axiom_element_set_text(mn_element, env, str_num, mn_node);
axiom_node_add_child((axiom_node_t*)om_node, env, mn_node);
@@ -216,7 +218,7 @@
{
return AXIS2_TRUE;
}
- if(0 == axutil_strcmp(namespace, SANDESHA2_SPEC_2006_08_NS_URI))
+ if(0 == axutil_strcmp(namespace, SANDESHA2_SPEC_2007_02_NS_URI))
{
return AXIS2_TRUE;
}
Modified: webservices/sandesha/trunk/c/src/wsrm/msg_pending.c
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/src/wsrm/msg_pending.c?rev=690127&r1=690126&r2=690127&view=diff
==============================================================================
--- webservices/sandesha/trunk/c/src/wsrm/msg_pending.c (original)
+++ webservices/sandesha/trunk/c/src/wsrm/msg_pending.c Thu Aug 28 23:56:29 2008
@@ -254,7 +254,7 @@
{
return AXIS2_FALSE;
}
- if(0 == axutil_strcmp(namespace, SANDESHA2_SPEC_2006_08_NS_URI))
+ if(0 == axutil_strcmp(namespace, SANDESHA2_SPEC_2007_02_NS_URI))
{
return AXIS2_TRUE;
}
Modified: webservices/sandesha/trunk/c/src/wsrm/nack.c
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/src/wsrm/nack.c?rev=690127&r1=690126&r2=690127&view=diff
==============================================================================
--- webservices/sandesha/trunk/c/src/wsrm/nack.c (original)
+++ webservices/sandesha/trunk/c/src/wsrm/nack.c Thu Aug 28 23:56:29 2008
@@ -205,7 +205,7 @@
{
return AXIS2_TRUE;
}
- if(0 == axutil_strcmp(namespace, SANDESHA2_SPEC_2006_08_NS_URI))
+ if(0 == axutil_strcmp(namespace, SANDESHA2_SPEC_2007_02_NS_URI))
{
return AXIS2_TRUE;
}
Modified: webservices/sandesha/trunk/c/src/wsrm/rm_elements.c
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/src/wsrm/rm_elements.c?rev=690127&r1=690126&r2=690127&view=diff
==============================================================================
--- webservices/sandesha/trunk/c/src/wsrm/rm_elements.c (original)
+++ webservices/sandesha/trunk/c/src/wsrm/rm_elements.c Thu Aug 28 23:56:29 2008
@@ -179,48 +179,53 @@
rm_elements->create_seq, env, create_seq_node);
}
- qname = axutil_qname_create(env, SANDESHA2_WSRM_COMMON_CREATE_SEQ_RESPONSE,
- rm_ns_val, NULL);
- create_seq_res_element = axiom_element_get_first_child_with_qname(
- body_element, env, qname, body_node, &create_seq_res_node);
+ qname = axutil_qname_create(env, SANDESHA2_WSRM_COMMON_CREATE_SEQ_RESPONSE, rm_ns_val, NULL);
+ create_seq_res_element = axiom_element_get_first_child_with_qname(body_element, env, qname,
+ body_node, &create_seq_res_node);
+
if(qname)
+ {
axutil_qname_free(qname, env);
+ }
+
if(create_seq_res_node)
{
- rm_elements->create_seq_res = sandesha2_create_seq_res_create(env,
- rm_ns_val, addr_ns_val);
- sandesha2_create_seq_res_from_om_node(
- rm_elements->create_seq_res, env, create_seq_res_node);
+ rm_elements->create_seq_res = sandesha2_create_seq_res_create(env, rm_ns_val, addr_ns_val);
+ sandesha2_create_seq_res_from_om_node(rm_elements->create_seq_res, env, create_seq_res_node);
}
- qname = axutil_qname_create(env, SANDESHA2_WSRM_COMMON_TERMINATE_SEQ,
- rm_ns_val, NULL);
- terminate_seq_element = axiom_element_get_first_child_with_qname(
- body_element, env, qname, body_node, &terminate_seq_node);
+ qname = axutil_qname_create(env, SANDESHA2_WSRM_COMMON_TERMINATE_SEQ, rm_ns_val, NULL);
+ terminate_seq_element = axiom_element_get_first_child_with_qname(body_element, env, qname,
+ body_node, &terminate_seq_node);
+
if(qname)
+ {
axutil_qname_free(qname, env);
+ }
+
if(terminate_seq_node)
{
- rm_elements->terminate_seq = sandesha2_terminate_seq_create(env,
- rm_ns_val);
- sandesha2_terminate_seq_from_om_node(
- rm_elements->terminate_seq, env, terminate_seq_node);
+ rm_elements->terminate_seq = sandesha2_terminate_seq_create(env, rm_ns_val);
+ sandesha2_terminate_seq_from_om_node(rm_elements->terminate_seq, env, terminate_seq_node);
}
- qname = axutil_qname_create(env, SANDESHA2_WSRM_COMMON_TERMINATE_SEQ_RESPONSE,
- rm_ns_val, NULL);
- terminate_seq_res_element = axiom_element_get_first_child_with_qname(
- body_element, env, qname, body_node, &terminate_seq_res_node);
+
+ qname = axutil_qname_create(env, SANDESHA2_WSRM_COMMON_TERMINATE_SEQ_RESPONSE, rm_ns_val, NULL);
+ terminate_seq_res_element = axiom_element_get_first_child_with_qname(body_element, env, qname,
+ body_node, &terminate_seq_res_node);
+
if(qname)
+ {
axutil_qname_free(qname, env);
+ }
+
if(terminate_seq_res_node)
{
- rm_elements->terminate_seq_res = sandesha2_terminate_seq_res_create(
- env, rm_ns_val);
- sandesha2_terminate_seq_res_from_om_node(
- rm_elements->terminate_seq_res, env, terminate_seq_res_node);
+ rm_elements->terminate_seq_res = sandesha2_terminate_seq_res_create(env, rm_ns_val);
+ sandesha2_terminate_seq_res_from_om_node(rm_elements->terminate_seq_res, env,
+ terminate_seq_res_node);
}
- qname = axutil_qname_create(env, SANDESHA2_WSRM_COMMON_CLOSE_SEQ, rm_ns_val,
- NULL);
+
+ qname = axutil_qname_create(env, SANDESHA2_WSRM_COMMON_CLOSE_SEQ, rm_ns_val, NULL);
close_seq_element = axiom_element_get_first_child_with_qname(body_element,
env, qname, body_node, &close_seq_node);
if(qname)
@@ -557,25 +562,49 @@
{
axutil_array_list_t *headers = NULL;
- headers = axiom_soap_header_get_header_blocks_with_namespace_uri(
- soap_header, env, SANDESHA2_SPEC_2005_02_NS_URI);
+ headers = axiom_soap_header_get_header_blocks_with_namespace_uri(soap_header, env,
+ SANDESHA2_SPEC_2005_02_NS_URI);
if(headers && 0 < axutil_array_list_size(headers, env))
{
if(headers)
+ {
axutil_array_list_free(headers, env);
+ }
+
return SANDESHA2_SPEC_2005_02_NS_URI;
}
- headers = axiom_soap_header_get_header_blocks_with_namespace_uri(
- soap_header, env, SANDESHA2_SPEC_2006_08_NS_URI);
+
+ headers = axiom_soap_header_get_header_blocks_with_namespace_uri(soap_header, env,
+ SANDESHA2_SPEC_2007_02_NS_URI);
+
if(headers && 0 < axutil_array_list_size(headers, env))
{
if(headers)
+ {
axutil_array_list_free(headers, env);
- return SANDESHA2_SPEC_2006_08_NS_URI;
+ }
+
+ return SANDESHA2_SPEC_2007_02_NS_URI;
+ }
+
+ headers = axiom_soap_header_get_header_blocks_with_namespace_uri(soap_header, env,
+ MAKE_CONNECTION_SPEC_2007_02_NS_URI);
+
+ if(headers && 0 < axutil_array_list_size(headers, env))
+ {
+ if(headers)
+ {
+ axutil_array_list_free(headers, env);
+ }
+
+ return MAKE_CONNECTION_SPEC_2007_02_NS_URI;
}
}
+
if(!action)
+ {
return NULL;
+ }
if(0 == axutil_strcmp(action, SANDESHA2_SPEC_2005_02_ACTION_CREATE_SEQ))
return SANDESHA2_SPEC_2005_02_NS_URI;
@@ -586,22 +615,25 @@
if(0 == axutil_strcmp(action, SANDESHA2_SPEC_2005_02_ACTION_TERMINATE_SEQ))
return SANDESHA2_SPEC_2005_02_NS_URI;
- if(0 == axutil_strcmp(action, SANDESHA2_SPEC_2006_08_ACTION_CREATE_SEQ))
- return SANDESHA2_SPEC_2006_08_NS_URI;
- if(0 == axutil_strcmp(action, SANDESHA2_SPEC_2006_08_ACTION_CREATE_SEQ_RESPONSE))
- return SANDESHA2_SPEC_2006_08_NS_URI;
- if(0 == axutil_strcmp(action, SANDESHA2_SPEC_2006_08_ACTION_SEQ_ACKNOWLEDGEMENT))
- return SANDESHA2_SPEC_2006_08_NS_URI;
- if(0 == axutil_strcmp(action, SANDESHA2_SPEC_2006_08_ACTION_TERMINATE_SEQ))
- return SANDESHA2_SPEC_2006_08_NS_URI;
- if(0 == axutil_strcmp(action, SANDESHA2_SPEC_2006_08_ACTION_CLOSE_SEQ))
- return SANDESHA2_SPEC_2006_08_NS_URI;
- if(0 == axutil_strcmp(action, SANDESHA2_SPEC_2006_08_ACTION_TERMINATE_SEQ_RESPONSE))
- return SANDESHA2_SPEC_2006_08_NS_URI;
- if(0 == axutil_strcmp(action, SANDESHA2_SPEC_2006_08_ACTION_CLOSE_SEQ_RESPONSE))
- return SANDESHA2_SPEC_2006_08_NS_URI;
- if(0 == axutil_strcmp(action, SANDESHA2_SPEC_2006_08_ACTION_MAKE_CONNECTION))
- return SANDESHA2_SPEC_2006_08_NS_URI;
+ if(0 == axutil_strcmp(action, SANDESHA2_SPEC_2007_02_ACTION_CREATE_SEQ))
+ return SANDESHA2_SPEC_2007_02_NS_URI;
+ if(0 == axutil_strcmp(action, SANDESHA2_SPEC_2007_02_ACTION_CREATE_SEQ_RESPONSE))
+ return SANDESHA2_SPEC_2007_02_NS_URI;
+ if(0 == axutil_strcmp(action, SANDESHA2_SPEC_2007_02_ACTION_SEQ_ACKNOWLEDGEMENT))
+ return SANDESHA2_SPEC_2007_02_NS_URI;
+ if(0 == axutil_strcmp(action, SANDESHA2_SPEC_2007_02_ACTION_TERMINATE_SEQ))
+ return SANDESHA2_SPEC_2007_02_NS_URI;
+ if(0 == axutil_strcmp(action, SANDESHA2_SPEC_2007_02_ACTION_CLOSE_SEQ))
+ return SANDESHA2_SPEC_2007_02_NS_URI;
+ if(0 == axutil_strcmp(action, SANDESHA2_SPEC_2007_02_ACTION_TERMINATE_SEQ_RESPONSE))
+ return SANDESHA2_SPEC_2007_02_NS_URI;
+ if(0 == axutil_strcmp(action, SANDESHA2_SPEC_2007_02_ACTION_CLOSE_SEQ_RESPONSE))
+ return SANDESHA2_SPEC_2007_02_NS_URI;
+
+ if(!axutil_strcmp(action, SANDESHA2_SPEC_2007_02_ACTION_MAKE_CONNECTION))
+ {
+ return MAKE_CONNECTION_SPEC_2007_02_NS_URI;
+ }
return NULL;
Modified: webservices/sandesha/trunk/c/src/wsrm/seq_ack.c
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/src/wsrm/seq_ack.c?rev=690127&r1=690126&r2=690127&view=diff
==============================================================================
--- webservices/sandesha/trunk/c/src/wsrm/seq_ack.c (original)
+++ webservices/sandesha/trunk/c/src/wsrm/seq_ack.c Thu Aug 28 23:56:29 2008
@@ -33,6 +33,7 @@
sandesha2_ack_final_t *ack_final;
axis2_bool_t must_understand;
axis2_char_t *ns_val;
+ int ref;
};
static axis2_bool_t AXIS2_CALL
@@ -69,6 +70,7 @@
seq_ack->ack_none = NULL;
seq_ack->ack_final = NULL;
seq_ack->must_understand = AXIS2_FALSE;
+ seq_ack->ref = 1;
seq_ack->ns_val = (axis2_char_t *)axutil_strdup(env, ns_val);
seq_ack->ack_range_list = axutil_array_list_create(env,
@@ -95,11 +97,18 @@
sandesha2_seq_ack_t *seq_ack,
const axutil_env_t *env)
{
+
+ if (--(seq_ack->ref) > 0)
+ {
+ return AXIS2_SUCCESS;
+ }
+
if(NULL != seq_ack->ns_val)
{
AXIS2_FREE(env->allocator, seq_ack->ns_val);
seq_ack->ns_val = NULL;
}
+
if(seq_ack->identifier)
{
sandesha2_identifier_free(seq_ack->identifier, env);
@@ -140,6 +149,15 @@
return AXIS2_SUCCESS;
}
+AXIS2_EXTERN axis2_status_t AXIS2_CALL
+sandesha2_seq_ack_increment_ref(
+ sandesha2_seq_ack_t * seq_ack,
+ const axutil_env_t * env)
+{
+ seq_ack->ref++;
+ return AXIS2_SUCCESS;
+}
+
axis2_char_t* AXIS2_CALL
sandesha2_seq_ack_get_namespace_value (
sandesha2_seq_ack_t *seq_ack,
@@ -304,7 +322,8 @@
axiom_node_t* AXIS2_CALL
sandesha2_seq_ack_to_om_node(
sandesha2_seq_ack_t *seq_ack,
- const axutil_env_t *env, void *om_node)
+ const axutil_env_t *env,
+ void *om_node)
{
axiom_namespace_t *rm_ns = NULL;
axiom_node_t *sa_node = NULL;
@@ -317,68 +336,68 @@
AXIS2_PARAM_CHECK(env->error, om_node, NULL);
soap_header = (axiom_soap_header_t*)om_node;
- rm_ns = axiom_namespace_create(env, seq_ack->ns_val,
- SANDESHA2_WSRM_COMMON_NS_PREFIX_RM);
- if(NULL == rm_ns)
+ rm_ns = axiom_namespace_create(env, seq_ack->ns_val, SANDESHA2_WSRM_COMMON_NS_PREFIX_RM);
+ if(!rm_ns)
{
return NULL;
}
- sa_block = axiom_soap_header_add_header_block(soap_header, env,
- SANDESHA2_WSRM_COMMON_SEQ_ACK, rm_ns);
- if(NULL == sa_block)
+
+ sa_block = axiom_soap_header_add_header_block(soap_header, env, SANDESHA2_WSRM_COMMON_SEQ_ACK,
+ rm_ns);
+
+ if (rm_ns)
+ {
+ axiom_namespace_free(rm_ns, env);
+ rm_ns = NULL;
+ }
+
+ if(!sa_block)
{
return NULL;
}
- if(NULL == seq_ack->identifier)
+
+ if(!seq_ack->identifier)
{
- AXIS2_ERROR_SET(env->error, SANDESHA2_ERROR_TO_OM_NULL_ELEMENT,
- AXIS2_FAILURE);
+ AXIS2_ERROR_SET(env->error, SANDESHA2_ERROR_TO_OM_NULL_ELEMENT, AXIS2_FAILURE);
return NULL;
}
- axiom_soap_header_block_set_must_understand_with_bool(sa_block, env,
- seq_ack->must_understand);
+
+ axiom_soap_header_block_set_must_understand_with_bool(sa_block, env, seq_ack->must_understand);
sa_node = axiom_soap_header_block_get_base_node(sa_block, env);
sandesha2_identifier_to_om_node(seq_ack->identifier, env, sa_node);
size = axutil_array_list_size(seq_ack->ack_range_list, env);
+
for(i = 0; i < size; i++)
{
sandesha2_ack_range_t *ack_range = NULL;
- ack_range = (sandesha2_ack_range_t*)axutil_array_list_get(
- seq_ack->ack_range_list, env, i);
+ ack_range = (sandesha2_ack_range_t*)axutil_array_list_get(seq_ack->ack_range_list, env, i);
sandesha2_ack_range_to_om_node(ack_range, env, sa_node);
}
for(i = 0; i < axutil_array_list_size(seq_ack->nack_list, env); i++)
{
sandesha2_nack_t *nack = NULL;
- nack = (sandesha2_nack_t*)axutil_array_list_get(
- seq_ack->nack_list, env, i);
- sandesha2_seq_ack_to_om_node((sandesha2_seq_ack_t *)nack, env, sa_node);
- }
- rm_spec_ver = sandesha2_spec_specific_consts_get_spec_ver_str(env,
- seq_ack->ns_val);
- if(NULL == seq_ack->ack_none && 0 == axutil_array_list_size(
- seq_ack->ack_range_list, env) &&
+ nack = (sandesha2_nack_t*)axutil_array_list_get(seq_ack->nack_list, env, i);
+ sandesha2_nack_to_om_node((sandesha2_nack_t *)nack, env, sa_node);
+ }
+
+ rm_spec_ver = sandesha2_spec_specific_consts_get_spec_ver_str(env, seq_ack->ns_val);
+ if(!seq_ack->ack_none && 0 == axutil_array_list_size(seq_ack->ack_range_list, env) &&
0 == axutil_array_list_size(seq_ack->nack_list, env)
- && AXIS2_TRUE ==
- sandesha2_spec_specific_consts_is_ack_none_allowed(env,
- rm_spec_ver))
- {
- seq_ack->ack_none = sandesha2_ack_none_create(env,
- seq_ack->ns_val);
- if(NULL == seq_ack->ack_none)
+ && sandesha2_spec_specific_consts_is_ack_none_allowed(env, rm_spec_ver))
+ {
+ seq_ack->ack_none = sandesha2_ack_none_create(env, seq_ack->ns_val);
+ if(!seq_ack->ack_none)
{
return NULL;
}
}
- if(NULL != seq_ack->ack_none)
+ if(seq_ack->ack_none)
{
- if(AXIS2_TRUE != sandesha2_spec_specific_consts_is_ack_none_allowed(env,
- rm_spec_ver) || 0 != axutil_array_list_size(
- seq_ack->ack_range_list, env) || 0 !=
+ if(!sandesha2_spec_specific_consts_is_ack_none_allowed(env, rm_spec_ver) ||
+ 0 != axutil_array_list_size(seq_ack->ack_range_list, env) || 0 !=
axutil_array_list_size(seq_ack->nack_list, env))
{
- AXIS2_ERROR_SET(env->error, SANDESHA2_ERROR_ACK_NONE_NOT_ALLOWED,
- AXIS2_FAILURE);
+ AXIS2_ERROR_SET(env->error, SANDESHA2_ERROR_ACK_NONE_NOT_ALLOWED, AXIS2_FAILURE);
return NULL;
}
else
@@ -386,14 +405,12 @@
sandesha2_ack_none_to_om_node(seq_ack->ack_none, env, sa_node);
}
}
- if(NULL != seq_ack->ack_final)
+ if(seq_ack->ack_final)
{
- if(AXIS2_TRUE != sandesha2_spec_specific_consts_is_ack_final_allowed(
- env, rm_spec_ver) || 0 != axutil_array_list_size(
- seq_ack->nack_list, env))
+ if(!sandesha2_spec_specific_consts_is_ack_final_allowed(env, rm_spec_ver) ||
+ 0 != axutil_array_list_size(seq_ack->nack_list, env))
{
- AXIS2_ERROR_SET(env->error, SANDESHA2_ERROR_ACK_FINAL_NOT_ALLOWED,
- AXIS2_FAILURE);
+ AXIS2_ERROR_SET(env->error, SANDESHA2_ERROR_ACK_FINAL_NOT_ALLOWED, AXIS2_FAILURE);
return NULL;
}
else
@@ -401,9 +418,11 @@
sandesha2_ack_final_to_om_node(seq_ack->ack_final, env, sa_node);
}
}
+
/**
* we do not need to add the header block as it is already done
*/
+
return sa_node;
}
@@ -486,7 +505,7 @@
axiom_soap_envelope_t *envelope)
{
axiom_soap_header_t *soap_header = NULL;
- axutil_qname_t *seq_ack_qname = NULL;
+ /*axutil_qname_t *seq_ack_qname = NULL;*/
AXIS2_PARAM_CHECK(env->error, envelope, AXIS2_FAILURE);
@@ -494,16 +513,20 @@
/**
* Remove if old exists
*/
- seq_ack_qname = axutil_qname_create(env, SANDESHA2_WSRM_COMMON_SEQ_ACK,
- seq_ack->ns_val, NULL);
+ /*seq_ack_qname = axutil_qname_create(env, SANDESHA2_WSRM_COMMON_SEQ_ACK, seq_ack->ns_val, NULL);
if(!seq_ack_qname)
{
return AXIS2_FAILURE;
}
+
axiom_soap_header_remove_header_block(soap_header, env, seq_ack_qname);
if(seq_ack_qname)
+ {
axutil_qname_free(seq_ack_qname, env);
+ }*/
+
sandesha2_seq_ack_to_om_node(seq_ack, env, soap_header);
+
return AXIS2_SUCCESS;
}
@@ -516,7 +539,7 @@
{
return AXIS2_TRUE;
}
- if(0 == axutil_strcmp(namespace, SANDESHA2_SPEC_2006_08_NS_URI))
+ if(0 == axutil_strcmp(namespace, SANDESHA2_SPEC_2007_02_NS_URI))
{
return AXIS2_TRUE;
}
Modified: webservices/sandesha/trunk/c/src/wsrm/seq_fault.c
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/src/wsrm/seq_fault.c?rev=690127&r1=690126&r2=690127&view=diff
==============================================================================
--- webservices/sandesha/trunk/c/src/wsrm/seq_fault.c (original)
+++ webservices/sandesha/trunk/c/src/wsrm/seq_fault.c Thu Aug 28 23:56:29 2008
@@ -211,7 +211,7 @@
{
return AXIS2_TRUE;
}
- if(0 == axutil_strcmp(namespace, SANDESHA2_SPEC_2006_08_NS_URI))
+ if(0 == axutil_strcmp(namespace, SANDESHA2_SPEC_2007_02_NS_URI))
{
return AXIS2_TRUE;
}
Modified: webservices/sandesha/trunk/c/src/wsrm/seq_offer.c
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/src/wsrm/seq_offer.c?rev=690127&r1=690126&r2=690127&view=diff
==============================================================================
--- webservices/sandesha/trunk/c/src/wsrm/seq_offer.c (original)
+++ webservices/sandesha/trunk/c/src/wsrm/seq_offer.c Thu Aug 28 23:56:29 2008
@@ -24,8 +24,10 @@
struct sandesha2_seq_offer_t
{
sandesha2_identifier_t *identifier;
+ sandesha2_endpoint_t *endpoint;
sandesha2_expires_t *expires;
axis2_char_t *ns_val;
+ axis2_char_t *addr_ns_val;
};
static axis2_bool_t AXIS2_CALL
@@ -36,10 +38,12 @@
AXIS2_EXTERN sandesha2_seq_offer_t* AXIS2_CALL
sandesha2_seq_offer_create(
const axutil_env_t *env,
- axis2_char_t *ns_val)
+ axis2_char_t *ns_val,
+ axis2_char_t *addr_ns_val)
{
sandesha2_seq_offer_t *seq_offer = NULL;
AXIS2_PARAM_CHECK(env->error, ns_val, NULL);
+ AXIS2_PARAM_CHECK(env->error, addr_ns_val, NULL);
if(AXIS2_FALSE == sandesha2_seq_offer_is_namespace_supported(env, ns_val))
{
@@ -55,8 +59,11 @@
AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE);
return NULL;
}
+
seq_offer->ns_val = (axis2_char_t *)axutil_strdup(env, ns_val);
+ seq_offer->addr_ns_val = (axis2_char_t *)axutil_strdup(env, addr_ns_val);
seq_offer->identifier = NULL;
+ seq_offer->endpoint = NULL;
seq_offer->expires = NULL;
return seq_offer;
@@ -73,7 +80,25 @@
AXIS2_FREE(env->allocator, seq_offer->ns_val);
seq_offer->ns_val = NULL;
}
- seq_offer->identifier = NULL;
+
+ if(seq_offer->addr_ns_val)
+ {
+ AXIS2_FREE(env->allocator, seq_offer->addr_ns_val);
+ seq_offer->addr_ns_val = NULL;
+ }
+
+ if(seq_offer->identifier)
+ {
+ sandesha2_identifier_free(seq_offer->identifier, env);
+ seq_offer->identifier = NULL;
+ }
+
+ if(seq_offer->endpoint)
+ {
+ sandesha2_endpoint_free(seq_offer->endpoint, env);
+ seq_offer->endpoint = NULL;
+ }
+
seq_offer->expires = NULL;
AXIS2_FREE(env->allocator, seq_offer);
return AXIS2_SUCCESS;
@@ -126,13 +151,25 @@
AXIS2_FAILURE);
return NULL;
}
- seq_offer->identifier = sandesha2_identifier_create(env,
- seq_offer->ns_val);
- if(NULL == seq_offer->identifier)
+
+ seq_offer->identifier = sandesha2_identifier_create(env, seq_offer->ns_val);
+ if(!seq_offer->identifier)
{
return NULL;
}
+
sandesha2_identifier_from_om_node(seq_offer->identifier, env, so_node);
+
+ seq_offer->endpoint = sandesha2_endpoint_create(env, NULL, seq_offer->ns_val,
+ seq_offer->addr_ns_val);
+
+ if(!seq_offer->endpoint)
+ {
+ return NULL;
+ }
+
+ sandesha2_endpoint_from_om_node(seq_offer->endpoint, env, so_node);
+
exp_qname = axutil_qname_create(env, SANDESHA2_WSRM_COMMON_EXPIRES,
seq_offer->ns_val, NULL);
if(NULL == exp_qname)
@@ -168,31 +205,38 @@
AXIS2_PARAM_CHECK(env->error, om_node, NULL);
- if(NULL == seq_offer->identifier)
+ if(!seq_offer->identifier)
{
- AXIS2_ERROR_SET(env->error, SANDESHA2_ERROR_TO_OM_NULL_ELEMENT,
- AXIS2_FAILURE);
+ AXIS2_ERROR_SET(env->error, SANDESHA2_ERROR_TO_OM_NULL_ELEMENT, AXIS2_FAILURE);
return NULL;
}
- rm_ns = axiom_namespace_create(env, seq_offer->ns_val,
- SANDESHA2_WSRM_COMMON_NS_PREFIX_RM);
- if(NULL == rm_ns)
+
+ rm_ns = axiom_namespace_create(env, seq_offer->ns_val, SANDESHA2_WSRM_COMMON_NS_PREFIX_RM);
+ if(!rm_ns)
{
return NULL;
}
- so_element = axiom_element_create(env, NULL,
- SANDESHA2_WSRM_COMMON_SEQ_OFFER, rm_ns, &so_node);
- if(NULL == so_element)
+
+ so_element = axiom_element_create(env, NULL, SANDESHA2_WSRM_COMMON_SEQ_OFFER, rm_ns, &so_node);
+ if(!so_element)
{
return NULL;
}
+
sandesha2_identifier_to_om_node(seq_offer->identifier, env, so_node);
- if(NULL != seq_offer->expires)
+
+ if(seq_offer->endpoint)
+ {
+ sandesha2_endpoint_to_om_node(seq_offer->endpoint, env, so_node);
+ }
+
+ if(seq_offer->expires)
{
- sandesha2_seq_offer_to_om_node((sandesha2_seq_offer_t *)
- seq_offer->expires, env, so_node);
+ sandesha2_seq_offer_to_om_node((sandesha2_seq_offer_t *) seq_offer->expires, env, so_node);
}
+
axiom_node_add_child((axiom_node_t*)om_node, env, so_node);
+
return (axiom_node_t*)om_node;
}
@@ -210,17 +254,40 @@
const axutil_env_t *env,
sandesha2_identifier_t *identifier)
{
- if(NULL != seq_offer->identifier)
+ if(seq_offer->identifier)
{
- /*
- SANDESHA2_IDENTIFIER_FREE(seq_offer->identifier, env);
- seq_offer->identifier = NULL;
- */
+ sandesha2_identifier_free(seq_offer->identifier, env);
+ seq_offer->identifier = NULL;
}
+
seq_offer->identifier = identifier;
return AXIS2_SUCCESS;
}
+sandesha2_endpoint_t * AXIS2_CALL
+sandesha2_seq_offer_get_endpoint(
+ sandesha2_seq_offer_t *seq_offer,
+ const axutil_env_t *env)
+{
+ return seq_offer->endpoint;
+}
+
+axis2_status_t AXIS2_CALL
+sandesha2_seq_offer_set_endpoint(
+ sandesha2_seq_offer_t *seq_offer,
+ const axutil_env_t *env,
+ sandesha2_endpoint_t *endpoint)
+{
+ if(seq_offer->endpoint)
+ {
+ sandesha2_endpoint_free(seq_offer->endpoint, env);
+ seq_offer->endpoint = NULL;
+ }
+
+ seq_offer->endpoint = endpoint;
+ return AXIS2_SUCCESS;
+}
+
sandesha2_expires_t * AXIS2_CALL
sandesha2_seq_offer_get_expires(
sandesha2_seq_offer_t *seq_offer,
@@ -247,7 +314,7 @@
{
return AXIS2_TRUE;
}
- if(0 == axutil_strcmp(namespace, SANDESHA2_SPEC_2006_08_NS_URI))
+ if(0 == axutil_strcmp(namespace, SANDESHA2_SPEC_2007_02_NS_URI))
{
return AXIS2_TRUE;
}
Modified: webservices/sandesha/trunk/c/src/wsrm/sequence.c
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/src/wsrm/sequence.c?rev=690127&r1=690126&r2=690127&view=diff
==============================================================================
--- webservices/sandesha/trunk/c/src/wsrm/sequence.c (original)
+++ webservices/sandesha/trunk/c/src/wsrm/sequence.c Thu Aug 28 23:56:29 2008
@@ -131,45 +131,61 @@
axiom_node_t *lm_node = NULL;
axutil_qname_t *lm_qname = NULL;
AXIS2_PARAM_CHECK(env->error, seq_node, NULL);
+
seq_part = axiom_node_get_data_element(seq_node, env);
if(!seq_part)
{
- AXIS2_ERROR_SET(env->error, SANDESHA2_ERROR_NULL_OM_ELEMENT,
- AXIS2_FAILURE);
+ AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI,
+ "[sandesha2] Sequence element not found in the sequence node");
+
+ AXIS2_ERROR_SET(env->error, SANDESHA2_ERROR_NULL_OM_ELEMENT, AXIS2_FAILURE);
return NULL;
}
+
seq->identifier = sandesha2_identifier_create(env, seq->ns_val);
if(!seq->identifier)
{
+ AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI,
+ "[sandesha2] Sequence identifier not found in the sequence node");
+
return NULL;
}
+
sandesha2_identifier_from_om_node(seq->identifier, env, seq_node);
seq->msg_num= sandesha2_msg_number_create(env, seq->ns_val);
if(!seq->msg_num)
{
+ AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI,
+ "[sandesha2] Sequence message number not found in the sequence node");
+
return NULL;
}
+
sandesha2_msg_number_from_om_node(seq->msg_num, env, seq_node);
- lm_qname = axutil_qname_create(env, SANDESHA2_WSRM_COMMON_LAST_MSG,
- seq->ns_val, NULL);
+ lm_qname = axutil_qname_create(env, SANDESHA2_WSRM_COMMON_LAST_MSG, seq->ns_val, NULL);
+
if(!lm_qname)
{
return NULL;
}
- lm_part = axiom_element_get_first_child_with_qname(seq_part, env,
- lm_qname, seq_node, &lm_node);
+
+ lm_part = axiom_element_get_first_child_with_qname(seq_part, env, lm_qname, seq_node, &lm_node);
if(lm_qname)
+ {
axutil_qname_free(lm_qname, env);
+ }
+
if(lm_part)
{
- seq->last_msg = sandesha2_last_msg_create(env,
- seq->ns_val);
+ seq->last_msg = sandesha2_last_msg_create(env, seq->ns_val);
if(!seq->last_msg)
{
return NULL;
}
+
sandesha2_last_msg_from_om_node(seq->last_msg, env, lm_node);
}
+
return seq;
}
@@ -192,25 +208,28 @@
AXIS2_FAILURE);
return NULL;
}
- rm_ns = axiom_namespace_create(env, seq->ns_val,
- SANDESHA2_WSRM_COMMON_NS_PREFIX_RM);
- if(!rm_ns)
+ rm_ns = axiom_namespace_create(env, seq->ns_val, SANDESHA2_WSRM_COMMON_NS_PREFIX_RM);
+ if(rm_ns)
{
- return NULL;
+ seq_block = axiom_soap_header_add_header_block(soap_header, env, SANDESHA2_WSRM_COMMON_SEQ,
+ rm_ns);
+ axiom_namespace_free(rm_ns, env);
}
- seq_block = axiom_soap_header_add_header_block(soap_header, env,
- SANDESHA2_WSRM_COMMON_SEQ, rm_ns);
+
if(!seq_block)
{
return NULL;
}
- axiom_soap_header_block_set_must_understand_with_bool(seq_block, env,
- seq->must_understand);
+
+ axiom_soap_header_block_set_must_understand_with_bool(seq_block, env, seq->must_understand);
seq_node = axiom_soap_header_block_get_base_node(seq_block, env);
sandesha2_identifier_to_om_node(seq->identifier, env, seq_node);
sandesha2_msg_number_to_om_node(seq->msg_num, env, seq_node);
if(seq->last_msg)
+ {
sandesha2_last_msg_to_om_node(seq->last_msg, env, seq_node);
+ }
+
return seq_node;
}
@@ -292,22 +311,27 @@
{
axiom_soap_header_t *soap_header = NULL;
axutil_qname_t *seq_qname = NULL;
+
AXIS2_PARAM_CHECK(env->error, envelope, AXIS2_FAILURE);
soap_header = axiom_soap_envelope_get_header(envelope, env);
+
/**
* Remove if old exists
*/
- seq_qname = axutil_qname_create(env, SANDESHA2_WSRM_COMMON_SEQ,
- seq->ns_val, NULL);
+ seq_qname = axutil_qname_create(env, SANDESHA2_WSRM_COMMON_SEQ, seq->ns_val, NULL);
if(!seq_qname)
{
return AXIS2_FAILURE;
}
axiom_soap_header_remove_header_block(soap_header, env, seq_qname);
- sandesha2_seq_to_om_node((sandesha2_seq_t*)seq, env,
- soap_header);
+
if(seq_qname)
+ {
axutil_qname_free(seq_qname, env);
+ }
+
+ sandesha2_seq_to_om_node((sandesha2_seq_t*)seq, env, soap_header);
+
return AXIS2_SUCCESS;
}
@@ -320,7 +344,7 @@
{
return AXIS2_TRUE;
}
- if(0 == axutil_strcmp(namespace, SANDESHA2_SPEC_2006_08_NS_URI))
+ if(0 == axutil_strcmp(namespace, SANDESHA2_SPEC_2007_02_NS_URI))
{
return AXIS2_TRUE;
}
Modified: webservices/sandesha/trunk/c/src/wsrm/terminate_seq.c
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/src/wsrm/terminate_seq.c?rev=690127&r1=690126&r2=690127&view=diff
==============================================================================
--- webservices/sandesha/trunk/c/src/wsrm/terminate_seq.c (original)
+++ webservices/sandesha/trunk/c/src/wsrm/terminate_seq.c Thu Aug 28 23:56:29 2008
@@ -118,6 +118,7 @@
AXIS2_FAILURE);
return NULL;
}
+
terminate_seq->identifier = sandesha2_identifier_create(env,
terminate_seq->ns_val);
if(!terminate_seq->identifier)
@@ -144,25 +145,25 @@
if(!terminate_seq->identifier)
{
- AXIS2_ERROR_SET(env->error, SANDESHA2_ERROR_TO_OM_NULL_ELEMENT,
- AXIS2_FAILURE);
+ AXIS2_ERROR_SET(env->error, SANDESHA2_ERROR_TO_OM_NULL_ELEMENT, AXIS2_FAILURE);
return NULL;
}
- rm_ns = axiom_namespace_create(env, terminate_seq->ns_val,
- SANDESHA2_WSRM_COMMON_NS_PREFIX_RM);
+
+ rm_ns = axiom_namespace_create(env, terminate_seq->ns_val, SANDESHA2_WSRM_COMMON_NS_PREFIX_RM);
if(!rm_ns)
{
return NULL;
}
- ts_element = axiom_element_create(env, NULL,
- SANDESHA2_WSRM_COMMON_TERMINATE_SEQ, rm_ns, &ts_node);
+
+ ts_element = axiom_element_create(env, (axiom_node_t *) om_node,
+ SANDESHA2_WSRM_COMMON_TERMINATE_SEQ, rm_ns, &ts_node);
+
if(!ts_element)
{
return NULL;
}
- sandesha2_identifier_to_om_node(terminate_seq->identifier, env,
- ts_node);
- axiom_node_add_child((axiom_node_t*)om_node, env, ts_node);
+
+ sandesha2_identifier_to_om_node(terminate_seq->identifier, env, ts_node);
return (axiom_node_t*)om_node;
}
@@ -182,9 +183,10 @@
{
if(terminate_seq->identifier)
{
-/* SANDESHA2_IDENTIFIER_FREE(terminate_seq->identifier, env);
- terminate_seq->identifier = NULL; */
+ sandesha2_identifier_free(terminate_seq->identifier, env);
+ terminate_seq->identifier = NULL;
}
+
terminate_seq->identifier = identifier;
return AXIS2_SUCCESS;
}
@@ -201,18 +203,22 @@
/**
* Remove if old exists
*/
- ts_qname = axutil_qname_create(env, SANDESHA2_WSRM_COMMON_TERMINATE_SEQ,
- terminate_seq->ns_val, NULL);
+ ts_qname = axutil_qname_create(env, SANDESHA2_WSRM_COMMON_TERMINATE_SEQ, terminate_seq->ns_val,
+ NULL);
+
if(!ts_qname)
{
return AXIS2_FAILURE;
}
+
sandesha2_utils_remove_soap_body_part(env, envelope, ts_qname);
- body_node = axiom_soap_body_get_base_node(axiom_soap_envelope_get_body(
- envelope, env), env);
+ body_node = axiom_soap_body_get_base_node(axiom_soap_envelope_get_body(envelope, env), env);
sandesha2_terminate_seq_to_om_node(terminate_seq, env, body_node);
if(ts_qname)
+ {
axutil_qname_free(ts_qname, env);
+ }
+
return AXIS2_SUCCESS;
}
@@ -225,7 +231,7 @@
{
return AXIS2_TRUE;
}
- if(0 == axutil_strcmp(namespace, SANDESHA2_SPEC_2006_08_NS_URI))
+ if(0 == axutil_strcmp(namespace, SANDESHA2_SPEC_2007_02_NS_URI))
{
return AXIS2_TRUE;
}
Modified: webservices/sandesha/trunk/c/src/wsrm/terminate_seq_res.c
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/src/wsrm/terminate_seq_res.c?rev=690127&r1=690126&r2=690127&view=diff
==============================================================================
--- webservices/sandesha/trunk/c/src/wsrm/terminate_seq_res.c (original)
+++ webservices/sandesha/trunk/c/src/wsrm/terminate_seq_res.c Thu Aug 28 23:56:29 2008
@@ -178,10 +178,10 @@
{
if(terminate_seq_res->identifier)
{
-/* SANDESHA2_IDENTIFIER_FREE(terminate_seq_res->identifier, env);
+ sandesha2_identifier_free(terminate_seq_res->identifier, env);
terminate_seq_res->identifier = NULL;
-*/
}
+
terminate_seq_res->identifier = identifier;
return AXIS2_SUCCESS;
}
@@ -222,7 +222,7 @@
const axutil_env_t *env,
axis2_char_t *namespace)
{
- if(0 == axutil_strcmp(namespace, SANDESHA2_SPEC_2006_08_NS_URI))
+ if(0 == axutil_strcmp(namespace, SANDESHA2_SPEC_2007_02_NS_URI))
{
return AXIS2_TRUE;
}
---------------------------------------------------------------------
To unsubscribe, e-mail: sandesha-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: sandesha-dev-help@ws.apache.org