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 na...@apache.org on 2005/12/21 07:13:41 UTC
svn commit: r358221 [1/2] - in /webservices/axis2/trunk/c: include/
modules/xml/soap/src/
Author: nandika
Date: Tue Dec 20 22:13:14 2005
New Revision: 358221
URL: http://svn.apache.org/viewcvs?rev=358221&view=rev
Log:
some of soap faults implemented
Added:
webservices/axis2/trunk/c/modules/xml/soap/src/axis2_soap_fault_role.c
webservices/axis2/trunk/c/modules/xml/soap/src/axis2_soap_fault_sub_code.c
webservices/axis2/trunk/c/modules/xml/soap/src/axis2_soap_fault_text.c
webservices/axis2/trunk/c/modules/xml/soap/src/axis2_soap_fault_value.c
Modified:
webservices/axis2/trunk/c/include/axis2_soap.h
webservices/axis2/trunk/c/include/axis2_soap_body.h
webservices/axis2/trunk/c/include/axis2_soap_envelope.h
webservices/axis2/trunk/c/include/axis2_soap_fault.h
webservices/axis2/trunk/c/include/axis2_soap_fault_code.h
webservices/axis2/trunk/c/include/axis2_soap_fault_detail.h
webservices/axis2/trunk/c/include/axis2_soap_fault_node.h
webservices/axis2/trunk/c/include/axis2_soap_fault_reason.h
webservices/axis2/trunk/c/include/axis2_soap_fault_role.h
webservices/axis2/trunk/c/include/axis2_soap_fault_sub_code.h
webservices/axis2/trunk/c/include/axis2_soap_fault_text.h
webservices/axis2/trunk/c/include/axis2_soap_fault_value.h
webservices/axis2/trunk/c/include/axis2_soap_header.h
webservices/axis2/trunk/c/include/axis2_soap_header_block.h
webservices/axis2/trunk/c/include/axis2_soap_message.h
Modified: webservices/axis2/trunk/c/include/axis2_soap.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/include/axis2_soap.h?rev=358221&r1=358220&r2=358221&view=diff
==============================================================================
--- webservices/axis2/trunk/c/include/axis2_soap.h (original)
+++ webservices/axis2/trunk/c/include/axis2_soap.h Tue Dec 20 22:13:14 2005
@@ -31,6 +31,16 @@
* @ingroup axis2_soap
* @{
*/
+typedef enum soap_version
+{
+ AXIS2_SOAP_VERSION_NOT_SET = 0,
+
+ AXIS2_SOAP11,
+
+ AXIS2_SOAP12
+}axis2_soap_version;
+
+
/** soap 11 constants */
Modified: webservices/axis2/trunk/c/include/axis2_soap_body.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/include/axis2_soap_body.h?rev=358221&r1=358220&r2=358221&view=diff
==============================================================================
--- webservices/axis2/trunk/c/include/axis2_soap_body.h (original)
+++ webservices/axis2/trunk/c/include/axis2_soap_body.h Tue Dec 20 22:13:14 2005
@@ -60,19 +60,32 @@
axis2_status_t (AXIS2_CALL *free_fn)(axis2_soap_body_t *body,
axis2_env_t **env);
- axis2_soap_fault_t* (AXIS2_CALL *add_fault_with_error)(axis2_soap_body_t *body,
- axis2_env_t **env,
- axis2_char_t *error);
+ axis2_soap_fault_t* (AXIS2_CALL *add_fault_with_error)
+ (axis2_soap_body_t *body,
+ axis2_env_t **env,
+ axis2_char_t *error);
axis2_bool_t (AXIS2_CALL *has_fault)(axis2_soap_body_t *body,
- axis2_env_t **env);
+ axis2_env_t **env);
- axis2_soap_fault_t* (AXIS2_CALL *get_fault)(axis2_soap_body_t *body,
- axis2_env_t **env);
+ axis2_soap_fault_t* (AXIS2_CALL *get_fault)
+ (axis2_soap_body_t *body,
+ axis2_env_t **env);
- axis2_status_t (AXIS2_CALL *add_fault_with_soap_fault)(axis2_soap_body_t *body,
- axis2_env_t **env,
- axis2_soap_fault_t *fault);
+ axis2_status_t (AXIS2_CALL *add_fault_with_soap_fault)
+ (axis2_soap_body_t *body,
+ axis2_env_t **env,
+ axis2_soap_fault_t *fault);
+
+ axis2_om_node_t* (AXIS2_CALL *get_base_node)
+ (axis2_soap_body_t *body,
+ axis2_env_t **env);
+
+ axis2_om_node_t* (AXIS2_CALL *set_base_node)
+ (axis2_soap_body_t *body,
+ axis2_env_t **env,
+ axis2_om_node_t *node);
+
};
@@ -100,7 +113,25 @@
/** free soap_body */
#define AXIS2_SOAP_BODY_FREE(body , env) \
((body)->ops->free_fn(body, env))
-
+
+#define AXIS2_SOAP_BODY_ADD_FAULT_WITH_ERROR(boby, env, error) \
+ ((body)->ops->add_fault_with_error(body, env, error))
+
+#define AXIS2_SOAP_BODY_HAS_FAULT(body, env) \
+ ((body)->ops->has_fault(body, env))
+
+#define AXIS2_SOAP_BODY_GET_FAULT(body, env) \
+ ((body)->ops->get_fault(body, env))
+
+#define AXIS2_SOAP_BODY_ADD_SOAP_FAULT_WITH_SOAP_FAULT(body, env, fault) \
+ ((body)->ops->add_fault_with_soap_fault(body, env, fault))
+
+#define AXIS2_SOAP_BODY_GET_BASE_NODE(body, env) \
+ ((body)->ops->get_base_node(body, env))
+
+#define AXIS2_SOAP_BODY_SET_BASE_NODE(body, env, node) \
+ ((body)->ops->set_base_node(body, env, node))
+
/** @} */
#ifdef __cplusplus
Modified: webservices/axis2/trunk/c/include/axis2_soap_envelope.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/include/axis2_soap_envelope.h?rev=358221&r1=358220&r2=358221&view=diff
==============================================================================
--- webservices/axis2/trunk/c/include/axis2_soap_envelope.h (original)
+++ webservices/axis2/trunk/c/include/axis2_soap_envelope.h Tue Dec 20 22:13:14 2005
@@ -113,7 +113,7 @@
axis2_soap_envelope_create (axis2_env_t **env);
AXIS2_DECLARE(axis2_soap_envelope_t *)
-axis2_soap_envelope_create(axis2_env_t **env,
+axis2_soap_envelope_create_with_namespace(axis2_env_t **env,
axis2_om_namespace_t* ns);
/******************** Macros **************************************************/
Modified: webservices/axis2/trunk/c/include/axis2_soap_fault.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/include/axis2_soap_fault.h?rev=358221&r1=358220&r2=358221&view=diff
==============================================================================
--- webservices/axis2/trunk/c/include/axis2_soap_fault.h (original)
+++ webservices/axis2/trunk/c/include/axis2_soap_fault.h Tue Dec 20 22:13:14 2005
@@ -126,12 +126,12 @@
* This is only intended to be used by the builder,
* do not use this function in other places
*/
- axis2_status_t (AXIS2_CALL *set_base)(axis2_soap_fault_t *fault,
- axis2_env_t **env,
- axis2_om_node_t *node);
+ axis2_status_t (AXIS2_CALL *set_base_node)(axis2_soap_fault_t *fault,
+ axis2_env_t **env,
+ axis2_om_node_t *node);
- axis2_om_node_t* (AXIS2_CALL *get_base)(axis2_soap_fault_t *fault,
- axis2_env_t **env);
+ axis2_om_node_t* (AXIS2_CALL *get_base_node)(axis2_soap_fault_t *fault,
+ axis2_env_t **env);
};
@@ -185,8 +185,8 @@
#define AXIS2_SOAP_FAULT_SET_NODE(fault , env, node) \
((fault)->ops->set_node(fault, env, node))
-#define AXIS2_SOAP_FAULT_SET_BASE(fault, env, node) \
- ((fault)->ops->set_base(fault, env, node))
+#define AXIS2_SOAP_FAULT_SET_BASE_NODE(fault, env, node) \
+ ((fault)->ops->set_base_node(fault, env, node))
#define AXIS2_SOAP_FAULT_GET_CODE(fault , env) \
((fault)->ops->get_code(fault, env))
@@ -203,8 +203,8 @@
#define AXIS2_SOAP_FAULT_GET_NODE(fault , env) \
((fault)->ops->get_node(fault, env))
-#define AXIS2_SOAP_FAULT_GET_BASE(fault, env) \
- ((fault)->ops->get_base(fault, env))
+#define AXIS2_SOAP_FAULT_GET_BASE_NODE(fault, env) \
+ ((fault)->ops->get_base_node(fault, env))
/** @} */
Modified: webservices/axis2/trunk/c/include/axis2_soap_fault_code.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/include/axis2_soap_fault_code.h?rev=358221&r1=358220&r2=358221&view=diff
==============================================================================
--- webservices/axis2/trunk/c/include/axis2_soap_fault_code.h (original)
+++ webservices/axis2/trunk/c/include/axis2_soap_fault_code.h Tue Dec 20 22:13:14 2005
@@ -73,12 +73,12 @@
(axis2_soap_fault_code_t *fault_code,
axis2_env_t **env);
- axis2_status_t (AXIS2_CALL *set_base)
+ axis2_status_t (AXIS2_CALL *set_base_node)
(axis2_soap_fault_code_t *fault_code,
axis2_env_t **env,
axis2_om_node_t *node);
- axis2_om_node_t* (AXIS2_CALL *get_base)
+ axis2_om_node_t* (AXIS2_CALL *get_base_node)
(axis2_soap_fault_code_t *fault_code,
axis2_env_t **env);
@@ -127,11 +127,11 @@
#define AXIS2_SOAP_FAULT_CODE_GET_SUB_CODE(fault_code , env) \
((fault_code)->ops->get_subcode(fault_code, env))
-#define AXIS2_SOAP_FAULT_CODE_GET_BASE(fault_code, env) \
- ((fault_code)->ops->get_base(fault_code, env))
+#define AXIS2_SOAP_FAULT_CODE_GET_BASE_NODE(fault_code, env) \
+ ((fault_code)->ops->get_base_node(fault_code, env))
-#define AXIS2_SOAP_FAULT_CODE_SET_BASE(fault_code, env, node) \
- ((fault_code)->ops->set_base(fault_code, env, node))
+#define AXIS2_SOAP_FAULT_CODE_SET_BASE_NODE(fault_code, env, node) \
+ ((fault_code)->ops->set_base_node(fault_code, env, node))
/** @} */
#ifdef __cplusplus
Modified: webservices/axis2/trunk/c/include/axis2_soap_fault_detail.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/include/axis2_soap_fault_detail.h?rev=358221&r1=358220&r2=358221&view=diff
==============================================================================
--- webservices/axis2/trunk/c/include/axis2_soap_fault_detail.h (original)
+++ webservices/axis2/trunk/c/include/axis2_soap_fault_detail.h Tue Dec 20 22:13:14 2005
@@ -67,12 +67,12 @@
(axis2_soap_fault_detail_t *fault_detail,
axis2_env_t **env);
- axis2_status_t (AXIS2_CALL *set_base)
+ axis2_status_t (AXIS2_CALL *set_base_node)
(axis2_soap_fault_code_t *fault_code,
axis2_env_t **env,
axis2_om_node_t *node);
- axis2_om_node_t* (AXIS2_CALL *get_base)
+ axis2_om_node_t* (AXIS2_CALL *get_base_node)
(axis2_soap_fault_code_t *fault_code,
axis2_env_t **env);
@@ -120,11 +120,11 @@
#define AXIS2_SOAP_FAULT_DETAIL_GET_ALL_DETAIL_ENTRIES(fault_detail, env) \
((fault_detail)->ops->get_all_detail_entries(fault_detail, env))
-#define AXIS2_SOAP_FAULT_DETAIL_GET_BASE(fault_detail, env) \
- ((fault_detail)->ops->get_base(fault_detail, env))
+#define AXIS2_SOAP_FAULT_DETAIL_GET_BASE_NODE(fault_detail, env) \
+ ((fault_detail)->ops->get_base_node(fault_detail, env))
#define AXIS2_SOAP_FAULT_DETAIL_SET_BASE(fault_detail, env, node) \
- ((fault_detail)->ops->set_base(fault_detail, env, node))
+ ((fault_detail)->ops->set_base_node(fault_detail, env, node))
/** @} */
#ifdef __cplusplus
Modified: webservices/axis2/trunk/c/include/axis2_soap_fault_node.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/include/axis2_soap_fault_node.h?rev=358221&r1=358220&r2=358221&view=diff
==============================================================================
--- webservices/axis2/trunk/c/include/axis2_soap_fault_node.h (original)
+++ webservices/axis2/trunk/c/include/axis2_soap_fault_node.h Tue Dec 20 22:13:14 2005
@@ -64,12 +64,12 @@
(axis2_soap_fault_node_t *fault_node,
axis2_env_t **env);
- axis2_status_t (AXIS2_CALL *set_base)
+ axis2_status_t (AXIS2_CALL *set_base_node)
(axis2_soap_fault_node_t *fault_node,
axis2_env_t **env,
axis2_om_node_t *node);
- axis2_om_node_t* (AXIS2_CALL *get_base)
+ axis2_om_node_t* (AXIS2_CALL *get_base_node)
(axis2_soap_fault_node_t *fault_node,
axis2_env_t **env);
@@ -112,11 +112,11 @@
#define AXIS2_SOAP_FAULT_NODE_GET_VALUE(fault_node , env) \
((fault_node)->ops->get_node(fault_node, env))
-#define AXIS2_SOAP_FAULT_NODE_GET_BASE(fault_node, env) \
- ((fault_node)->ops->get_base(fault_node, env))
+#define AXIS2_SOAP_FAULT_NODE_GET_BASE_NODE(fault_node, env) \
+ ((fault_node)->ops->get_base_node(fault_node, env))
#define AXIS2_SOAP_FAULT_NODE_SET_BASE(fault_node, env, node) \
- ((fault_node)->ops->set_base(fault_node, env, node))
+ ((fault_node)->ops->set_base_node(fault_node, env, node))
/** @} */
#ifdef __cplusplus
Modified: webservices/axis2/trunk/c/include/axis2_soap_fault_reason.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/include/axis2_soap_fault_reason.h?rev=358221&r1=358220&r2=358221&view=diff
==============================================================================
--- webservices/axis2/trunk/c/include/axis2_soap_fault_reason.h (original)
+++ webservices/axis2/trunk/c/include/axis2_soap_fault_reason.h Tue Dec 20 22:13:14 2005
@@ -64,12 +64,12 @@
(axis2_soap_fault_reason_t *fault_reason,
axis2_env_t **env);
- axis2_status_t (AXIS2_CALL *set_base)
+ axis2_status_t (AXIS2_CALL *set_base_node)
(axis2_soap_fault_reason_t *fault_reason,
axis2_env_t **env,
axis2_om_node_t *node);
- axis2_om_node_t* (AXIS2_CALL *get_base)
+ axis2_om_node_t* (AXIS2_CALL *get_base_node)
(axis2_soap_fault_reason_t *fault_reason,
axis2_env_t **env);
@@ -111,11 +111,11 @@
#define AXIS2_SOAP_FAULT_REASON_GET_SOAP_TEXT(fault_reason , env) \
((fault_reason)->ops->get_soap_text(fault_reason, env))
-#define AXIS2_SOAP_FAULT_REASON_GET_BASE(fault_reason, env) \
- ((fault_reason)->ops->get_base(fault_reason, env))
+#define AXIS2_SOAP_FAULT_REASON_GET_BASE_NODE(fault_reason, env) \
+ ((fault_reason)->ops->get_base_node(fault_reason, env))
#define AXIS2_SOAP_FAULT_REASON_SET_BASE(fault_reason, env, node) \
- ((fault_reason)->ops->set_base(fault_reason, env, node))
+ ((fault_reason)->ops->set_base_node(fault_reason, env, node))
/** @} */
#ifdef __cplusplus
Modified: webservices/axis2/trunk/c/include/axis2_soap_fault_role.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/include/axis2_soap_fault_role.h?rev=358221&r1=358220&r2=358221&view=diff
==============================================================================
--- webservices/axis2/trunk/c/include/axis2_soap_fault_role.h (original)
+++ webservices/axis2/trunk/c/include/axis2_soap_fault_role.h Tue Dec 20 22:13:14 2005
@@ -65,14 +65,23 @@
(axis2_soap_fault_role_t *fault_role,
axis2_env_t **env);
- axis2_status_t (AXIS2_CALL *set_base)
+ axis2_status_t (AXIS2_CALL *set_base_node)
(axis2_soap_fault_role_t *fault_role,
axis2_env_t **env,
axis2_om_node_t *node);
- axis2_om_node_t* (AXIS2_CALL *get_base)
- (axis2_soap_fault_role_t *fault_role,
- axis2_env_t **env);
+ axis2_om_node_t* (AXIS2_CALL *get_base_node)
+ (axis2_soap_fault_role_t *fault_role,
+ axis2_env_t **env);
+
+ int (AXIS2_CALL *get_soap_version)
+ (axis2_soap_fault_role_t *fault_role,
+ axis2_env_t **env);
+
+ int (AXIS2_CALL *set_soap_version)
+ (axis2_soap_fault_role_t *fault_role,
+ axis2_env_t **env,
+ int soap_version);
};
@@ -93,7 +102,8 @@
*/
AXIS2_DECLARE(axis2_soap_fault_role_t *)
axis2_soap_fault_role_create_with_parent(axis2_env_t **env,
- axis2_soap_fault_t *fault);
+ axis2_soap_fault_t *fault,
+ axis2_bool_t extract_ns_form_parent);
AXIS2_DECLARE(axis2_soap_fault_role_t *)
@@ -112,11 +122,18 @@
#define AXIS2_SOAP_FAULT_ROLE_GET_VALUE(fault_role , env) \
((fault_role)->ops->get_role_value(fault_role, env))
-#define AXIS2_SOAP_FAULT_ROLE_GET_BASE(fault_role, env) \
- ((fault_role)->ops->get_base(fault_role, env))
+#define AXIS2_SOAP_FAULT_ROLE_GET_BASE_NODE(fault_role, env) \
+ ((fault_role)->ops->get_base_node(fault_role, env))
#define AXIS2_SOAP_FAULT_ROLE_SET_BASE(fault_role, env, node) \
- ((fault_role)->ops->set_base(fault_role, env, node))
+ ((fault_role)->ops->set_base_node(fault_role, env, node))
+
+#define AXIS2_SOAP_FAULT_ROLE_GET_SOAP_VRESION(fault_role, env) \
+ ((fault_role)->ops->get_soap_version(fault_role, env))
+
+#define AXIS2_SOAP_FAULT_ROLE_SET_SOAP_VRESION(fault_role, env, version) \
+ ((fault_role)->ops->set_soap_version(fault_role, env, version))
+
/** @} */
#ifdef __cplusplus
Modified: webservices/axis2/trunk/c/include/axis2_soap_fault_sub_code.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/include/axis2_soap_fault_sub_code.h?rev=358221&r1=358220&r2=358221&view=diff
==============================================================================
--- webservices/axis2/trunk/c/include/axis2_soap_fault_sub_code.h (original)
+++ webservices/axis2/trunk/c/include/axis2_soap_fault_sub_code.h Tue Dec 20 22:13:14 2005
@@ -53,8 +53,8 @@
*/
axis2_status_t (AXIS2_CALL *free_fn)
- (axis2_soap_fault_sub_code_t *fault_sub_code,
- axis2_env_t **env);
+ (axis2_soap_fault_sub_code_t *fault_sub_code,
+ axis2_env_t **env);
axis2_status_t (AXIS2_CALL *set_value)
(axis2_soap_fault_sub_code_t *fault_sub_code,
@@ -62,26 +62,35 @@
axis2_soap_fault_value_t *fault_sub_code_val);
axis2_status_t (AXIS2_CALL *set_sub_code)
- (axis2_soap_fault_sub_code_t *fault_sub_code,
- axis2_env_t **env,
- axis2_soap_fault_sub_code_t *fault_subcode);
+ (axis2_soap_fault_sub_code_t *fault_sub_code,
+ axis2_env_t **env,
+ axis2_soap_fault_sub_code_t *fault_subcode);
axis2_soap_fault_sub_code_t* (AXIS2_CALL *get_sub_code)
- (axis2_soap_fault_sub_code_t *fault_sub_code,
- axis2_env_t **env);
+ (axis2_soap_fault_sub_code_t *fault_sub_code,
+ axis2_env_t **env);
axis2_soap_fault_value_t* (AXIS2_CALL *get_value)
- (axis2_soap_fault_sub_code_t *fault_sub_code,
- axis2_env_t **env);
+ (axis2_soap_fault_sub_code_t *fault_sub_code,
+ axis2_env_t **env);
- axis2_status_t (AXIS2_CALL *set_base)
+ axis2_status_t (AXIS2_CALL *set_base_node)
(axis2_soap_fault_sub_code_t *fault_sub_code,
axis2_env_t **env,
axis2_om_node_t *node);
- axis2_om_node_t* (AXIS2_CALL *get_base)
- (axis2_soap_fault_sub_code_t *fault_sub_code,
- axis2_env_t **env);
+ axis2_om_node_t* (AXIS2_CALL *get_base_node)
+ (axis2_soap_fault_sub_code_t *fault_sub_code,
+ axis2_env_t **env);
+
+ int (AXIS2_CALL *get_soap_version)
+ (axis2_soap_fault_sub_code_t *fault_sub_code,
+ axis2_env_t **env);
+
+ int (AXIS2_CALL *set_soap_version)
+ (axis2_soap_fault_sub_code_t *fault_sub_code,
+ axis2_env_t **env,
+ int soap_version);
};
@@ -108,6 +117,8 @@
AXIS2_DECLARE(axis2_soap_fault_sub_code_t *)
axis2_soap_fault_sub_code_create(axis2_env_t **env);
+
+
/******************** Macros **************************************************/
@@ -128,16 +139,22 @@
#define AXIS2_SOAP_FAULT_SUB_CODE_GET_SUB_CODE(fault_sub_code , env) \
((fault_sub_code)->ops->get_subcode(fault_sub_code, env))
-#define AXIS2_SOAP_FAULT_SUB_CODE_GET_BASE(fault_sub_code, env) \
- ((fault_sub_code)->ops->get_base(fault_sub_code, env))
+#define AXIS2_SOAP_FAULT_SUB_CODE_GET_BASE_NODE(fault_sub_code, env) \
+ ((fault_sub_code)->ops->get_base_node(fault_sub_code, env))
+
+#define AXIS2_SOAP_FAULT_SUB_CODE_SET_BASE_NODE(fault_sub_code, env, node) \
+ ((fault_sub_code)->ops->set_base_node(fault_sub_code, env, node))
+
+#define AXIS2_SOAP_FAULT_SUB_CODE_GET_SOAP_VRESION(fault_sub_code, env) \
+ ((fault_sub_code)->ops->get_soap_version(fault_sub_code, env))
-#define AXIS2_SOAP_FAULT_SUB_CODE_SET_BASE(fault_sub_code, env, node) \
- ((fault_sub_code)->ops->set_base(fault_sub_code, env, node))
+#define AXIS2_SOAP_FAULT_SUB_CODE_SET_SOAP_VRESION(fault_sub_code, env) \
+ ((fault_sub_code)->ops->set_soap_version(fault_sub_code, env))
+
/** @} */
#ifdef __cplusplus
}
#endif
-
- #endif /* AXIS2_SOAP_FAULT_SUB_CODE_H */
\ No newline at end of file
+#endif /* AXIS2_SOAP_FAULT_SUB_CODE_H */
\ No newline at end of file
Modified: webservices/axis2/trunk/c/include/axis2_soap_fault_text.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/include/axis2_soap_fault_text.h?rev=358221&r1=358220&r2=358221&view=diff
==============================================================================
--- webservices/axis2/trunk/c/include/axis2_soap_fault_text.h (original)
+++ webservices/axis2/trunk/c/include/axis2_soap_fault_text.h Tue Dec 20 22:13:14 2005
@@ -64,14 +64,23 @@
(axis2_soap_fault_text_t *fault_text,
axis2_env_t **env);
- axis2_status_t (AXIS2_CALL *set_base)
+ axis2_status_t (AXIS2_CALL *set_base_node)
(axis2_soap_fault_text_t *fault_text,
axis2_env_t **env,
axis2_om_node_t *node);
- axis2_om_node_t* (AXIS2_CALL *get_base)
+ axis2_om_node_t* (AXIS2_CALL *get_base_node)
(axis2_soap_fault_text_t *fault_text,
axis2_env_t **env);
+
+ int (AXIS2_CALL *get_soap_version)
+ (axis2_soap_fault_text_t *fault_text,
+ axis2_env_t **env);
+
+ axis2_status_t (AXIS2_CALL *set_soap_version)
+ (axis2_soap_fault_text_t *fault_text,
+ axis2_env_t **env,
+ int soap_version);
};
@@ -98,6 +107,8 @@
AXIS2_DECLARE(axis2_soap_fault_text_t *)
axis2_soap_fault_text_create(axis2_env_t **env);
+
+
/******************** Macros **************************************************/
@@ -111,11 +122,17 @@
#define AXIS2_SOAP_FAULT_TEXT_GET_LANG(fault_text , env) \
((fault_text)->ops->get_lang(fault_text, env))
-#define AXIS2_SOAP_FAULT_TEXT_GET_BASE(fault_text, env) \
- ((fault_text)->ops->get_base(fault_text, env))
+#define AXIS2_SOAP_FAULT_TEXT_GET_BASE_NODE(fault_text, env) \
+ ((fault_text)->ops->get_base_node(fault_text, env))
#define AXIS2_SOAP_FAULT_TEXT_SET_BASE(fault_text, env, node) \
- ((fault_text)->ops->set_base(fault_text, env, node))
+ ((fault_text)->ops->set_base_node(fault_text, env, node))
+
+#define AXIS2_SOAP_FAULT_TEXT_GET_SOAP_VERSION(fault_text, env) \
+ ((fault_text)->ops->get_soap_version(fault_text, env))
+
+#define AXIS2_SOAP_FAULT_TEXT_SET_SOAP_VERSION(fault_text, env, version) \
+ ((fault_text)->ops->set_soap_version(fault_text, env, version))
/** @} */
#ifdef __cplusplus
Modified: webservices/axis2/trunk/c/include/axis2_soap_fault_value.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/include/axis2_soap_fault_value.h?rev=358221&r1=358220&r2=358221&view=diff
==============================================================================
--- webservices/axis2/trunk/c/include/axis2_soap_fault_value.h (original)
+++ webservices/axis2/trunk/c/include/axis2_soap_fault_value.h Tue Dec 20 22:13:14 2005
@@ -52,17 +52,26 @@
*/
axis2_status_t (AXIS2_CALL *free_fn)
- (axis2_soap_fault_value_t *fault_value,
- axis2_env_t **env);
+ (axis2_soap_fault_value_t *fault_value,
+ axis2_env_t **env);
- axis2_status_t (AXIS2_CALL *set_base)
- (axis2_soap_fault_value_t *fault_value,
- axis2_env_t **env,
- axis2_om_node_t *node);
+ axis2_status_t (AXIS2_CALL *set_base_node)
+ (axis2_soap_fault_value_t *fault_value,
+ axis2_env_t **env,
+ axis2_om_node_t *node);
- axis2_om_node_t* (AXIS2_CALL *get_base)
- (axis2_soap_fault_value_t *fault_value,
- axis2_env_t **env);
+ axis2_om_node_t* (AXIS2_CALL *get_base_node)
+ (axis2_soap_fault_value_t *fault_value,
+ axis2_env_t **env);
+
+ int (AXIS2_CALL *get_soap_version)
+ (axis2_soap_fault_value_t *fault_value,
+ axis2_env_t **env);
+
+ axis2_status_t (AXIS2_CALL *set_soap_version)
+ (axis2_soap_fault_value_t *fault_value,
+ axis2_env_t **env,
+ int soap_version);
};
@@ -92,6 +101,8 @@
AXIS2_DECLARE(axis2_soap_fault_value_t *)
axis2_soap_fault_value_create(axis2_env_t **env);
+
+
/******************** Macros **************************************************/
@@ -99,11 +110,17 @@
#define AXIS2_SOAP_FAULT_VALUE_FREE(fault_value , env) \
((fault_value)->ops->free_fn(fault_value, env))
-#define AXIS2_SOAP_FAULT_VALUE_GET_BASE(fault_value, env) \
- ((fault_value)->ops->get_base(fault_value, env))
+#define AXIS2_SOAP_FAULT_VALUE_GET_BASE_NODE(fault_value, env) \
+ ((fault_value)->ops->get_base_node(fault_value, env))
-#define AXIS2_SOAP_FAULT_VALUE_SET_BASE(fault_value, env, node) \
- ((fault_value)->ops->set_base(fault_value, env, node))
+#define AXIS2_SOAP_FAULT_VALUE_SET_BASE_NODE(fault_value, env, node) \
+ ((fault_value)->ops->set_base_node(fault_value, env, node))
+
+#define AXIS2_SOAP_FAULT_VALUE_GET_SOAP_VERSION(fault_value, env) \
+ ((fault_value)->ops->get_soap_version(fault_value, env))
+
+#define AXIS2_SOAP_FAULT_VALUE_SET_SOAP_VERSION(fault_value, env, version) \
+ ((fault_value)->ops->set_soap_version(fault_value, env, version))
/** @} */
#ifdef __cplusplus
Modified: webservices/axis2/trunk/c/include/axis2_soap_header.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/include/axis2_soap_header.h?rev=358221&r1=358220&r2=358221&view=diff
==============================================================================
--- webservices/axis2/trunk/c/include/axis2_soap_header.h (original)
+++ webservices/axis2/trunk/c/include/axis2_soap_header.h Tue Dec 20 22:13:14 2005
@@ -103,11 +103,11 @@
* This is only intended to be used by the builder,
* do not use this function in other places
*/
- axis2_status_t (AXIS2_CALL *set_base)(axis2_soap_header_t *header,
+ axis2_status_t (AXIS2_CALL *set_base_node)(axis2_soap_header_t *header,
axis2_env_t **env,
axis2_om_node_t *node);
- axis2_om_node_t* (AXIS2_CALL *get_base)(axis2_soap_header_t *header,
+ axis2_om_node_t* (AXIS2_CALL *get_base_node)(axis2_soap_header_t *header,
axis2_env_t **env);
};
@@ -154,11 +154,11 @@
#define AXIS2_SOAP_HEADER_EXTRACT_HEADER_BLOCKS(header, env) \
((header)->ops->extract_header_blocks(header, env))
-#define AXIS2_SOAP_HEADER_SET_BASE(header, env, node) \
- ((header)->ops->set_base(header, env, node))
+#define AXIS2_SOAP_HEADER_SET_BASE_NODE(header, env, node) \
+ ((header)->ops->set_base_node(header, env, node))
-#define AXIS2_SOAP_HEADER_GET_BASE(header, env) \
- ((header)->ops->get_base(header, env))
+#define AXIS2_SOAP_HEADER_GET_BASE_NODE(header, env) \
+ ((header)->ops->get_base_node(header, env))
/** @} */
Modified: webservices/axis2/trunk/c/include/axis2_soap_header_block.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/include/axis2_soap_header_block.h?rev=358221&r1=358220&r2=358221&view=diff
==============================================================================
--- webservices/axis2/trunk/c/include/axis2_soap_header_block.h (original)
+++ webservices/axis2/trunk/c/include/axis2_soap_header_block.h Tue Dec 20 22:13:14 2005
@@ -54,46 +54,55 @@
* @return satus of the op. AXIS2_SUCCESS on success
* else AXIS2_FAILURE
*/
- axis2_status_t (AXIS2_CALL *free_fn)(axis2_soap_header_block_t *header_block,
- axis2_env_t **env);
+ axis2_status_t (AXIS2_CALL *free_fn)
+ (axis2_soap_header_block_t *header_block,
+ axis2_env_t **env);
- axis2_status_t (AXIS2_CALL *set_role)(axis2_soap_header_block_t *header_block,
- axis2_env_t **env,
- axis2_char_t *uri);
+ axis2_status_t (AXIS2_CALL *set_role)
+ (axis2_soap_header_block_t *header_block,
+ axis2_env_t **env,
+ axis2_char_t *uri);
axis2_status_t (AXIS2_CALL *set_must_understand_with_bool)
- (axis2_soap_header_block_t *header_block,
- axis2_env_t **env,
- axis2_bool_t *must_understand);
+ (axis2_soap_header_block_t *header_block,
+ axis2_env_t **env,
+ axis2_bool_t *must_understand);
+
axis2_status_t (AXIS2_CALL *set_must_understand_with_string)
- (axis2_soap_header_block_t *header_block,
- axis2_env_t **env,
- axis2_char_t *must_understand);
+ (axis2_soap_header_block_t *header_block,
+ axis2_env_t **env,
+ axis2_char_t *must_understand);
axis2_bool_t (AXIS2_CALL *get_must_understand)
- (axis2_soap_header_block_t *header_block,
- axis2_env_t **env);
+ (axis2_soap_header_block_t *header_block,
+ axis2_env_t **env);
+
+
axis2_bool_t (AXIS2_CALL *is_processed)
- (axis2_soap_header_block_t *header_block,
- axis2_env_t **env);
+ (axis2_soap_header_block_t *header_block,
+ axis2_env_t **env);
+
axis2_bool_t (AXIS2_CALL *set_processed)
- (axis2_soap_header_block_t *header_block,
- axis2_env_t **env);
+ (axis2_soap_header_block_t *header_block,
+ axis2_env_t **env);
- axis2_char_t* (AXIS2_CALL *get_role)(axis2_soap_header_block_t *header_block,
- axis2_env_t **env);
+ axis2_char_t* (AXIS2_CALL *get_role)
+ (axis2_soap_header_block_t *header_block,
+ axis2_env_t **env);
/**
* This is only intended to be used by the builder,
* do not use this function in other places
*/
- axis2_status_t (AXIS2_CALL *set_base)(axis2_soap_header_block_t *header_block,
- axis2_env_t **env,
- axis2_om_node_t *node);
+ axis2_status_t (AXIS2_CALL *set_base_node)
+ (axis2_soap_header_block_t *header_block,
+ axis2_env_t **env,
+ axis2_om_node_t *node);
- axis2_om_node_t* (AXIS2_CALL *get_base)(axis2_soap_header_block_t *header_block,
- axis2_env_t **env);
+ axis2_om_node_t* (AXIS2_CALL *get_base_node)
+ (axis2_soap_header_block_t *header_block,
+ axis2_env_t **env);
};
@@ -149,11 +158,11 @@
((header_block)->ops->get_must_understand_with_string(header_block, \
env, must_understand))
-#define AXIS2_SOAP_HEADER_BLOCK_SET_BASE(header_block, env, node) \
- ((header_block)->ops->set_base(header_block, env, node))
+#define AXIS2_SOAP_HEADER_BLOCK_SET_BASE_NODE(header_block, env, node) \
+ ((header_block)->ops->set_base_node(header_block, env, node))
-#define AXIS2_SOAP_HEADER_BLOCK_GET_BASE(header_block, env) \
- ((header_block)->ops->get_base(header_block, env))
+#define AXIS2_SOAP_HEADER_BLOCK_GET_BASE_NODE(header_block, env) \
+ ((header_block)->ops->get_base_node(header_block, env))
/** @} */
Modified: webservices/axis2/trunk/c/include/axis2_soap_message.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/include/axis2_soap_message.h?rev=358221&r1=358220&r2=358221&view=diff
==============================================================================
--- webservices/axis2/trunk/c/include/axis2_soap_message.h (original)
+++ webservices/axis2/trunk/c/include/axis2_soap_message.h Tue Dec 20 22:13:14 2005
@@ -23,8 +23,7 @@
* corresponds to root element of soap message
*/
#include <axis2_env.h>
-#include <axis2_om_node.h>
-#include <axis2_om_element.h>
+#include <axis2_soap_envelope.h>
#ifdef __cplusplus
extern "C"
@@ -57,7 +56,15 @@
axis2_status_t (AXIS2_CALL *free_fn)(axis2_soap_message_t *message,
axis2_env_t **env);
-
+
+ axis2_soap_envelope_t* (AXIS2_CALL *get_soap_envelope)
+ (axis2_soap_message_t *message,
+ axis2_env_t **env);
+
+ axis2_status_t (AXIS2_CALL *set_soap_envelope)
+ (axis2_soap_message_t *message,
+ axis2_env_t **env,
+ axis2_soap_envelope_t *envelope);
};
/**
@@ -84,7 +91,13 @@
/** free soap_message */
#define AXIS2_SOAP_MESSAGE_FREE(message , env) \
((message)->ops->free_fn(message, env))
-
+
+#define AXIS2_SOAP_MESSAGE_GET_SOAP_ENVELOPE(message, env) \
+ ((message)->ops->get_envelope(message, env))
+
+#define AXIS2_SOAP_MESSAGE_SET_SOAP_ENVELOPE(message, env, envelope) \
+ ((message)->ops->get_envelope(message, env, envelope))
+
/** @} */
#ifdef __cplusplus
Added: webservices/axis2/trunk/c/modules/xml/soap/src/axis2_soap_fault_role.c
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/xml/soap/src/axis2_soap_fault_role.c?rev=358221&view=auto
==============================================================================
--- webservices/axis2/trunk/c/modules/xml/soap/src/axis2_soap_fault_role.c (added)
+++ webservices/axis2/trunk/c/modules/xml/soap/src/axis2_soap_fault_role.c Tue Dec 20 22:13:14 2005
@@ -0,0 +1,287 @@
+/*
+ * 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.
+ */
+
+ #include <axis2_soap_fault_role.h>
+ #include <axis2_soap_fault.h>
+
+ /***************************** impl struct **********************************/
+
+ typedef struct axis2_soap_fault_role_impl_t
+ {
+ axis2_soap_fault_role_t fault_role;
+
+ int soap_version;
+
+ axis2_soap_fault_t *parent;
+
+ axis2_om_node_t *om_ele_node;
+
+ axis2_om_element_t *om_ele;
+
+}axis2_soap_fault_role_impl_t;
+
+/**************************** Macro *******************************************/
+
+#define AXIS2_INTF_TO_IMPL(role) ((axis2_soap_fault_role_impl_t*)role)
+
+/**************************** function prototypes *****************************/
+
+axis2_status_t AXIS2_CALL
+axis2_soap_fault_role_free(axis2_soap_fault_role_t *fault_role,
+ axis2_env_t **env);
+
+axis2_status_t AXIS2_CALL
+axis2_soap_fault_role_set_role_value
+ (axis2_soap_fault_role_t *fault_role,
+ axis2_env_t **env,
+ axis2_char_t* uri);
+
+axis2_char_t* AXIS2_CALL
+axis2_soap_fault_role_get_role_value
+ (axis2_soap_fault_role_t *fault_role,
+ axis2_env_t **env);
+
+axis2_status_t AXIS2_CALL
+axis2_soap_fault_role_set_base_node
+ (axis2_soap_fault_role_t *fault_role,
+ axis2_env_t **env,
+ axis2_om_node_t *node);
+
+axis2_om_node_t* AXIS2_CALL
+axis2_soap_fault_role_get_base_node
+ (axis2_soap_fault_role_t *fault_role,
+ axis2_env_t **env);
+
+int AXIS2_CALL
+axis2_soap_fault_role_get_soap_version
+ (axis2_soap_fault_role_t *fault_role,
+ axis2_env_t **env);
+
+axis2_status_t AXIS2_CALL
+axis2_soap_fault_role_set_soap_version
+ (axis2_soap_fault_role_t *fault_role,
+ axis2_env_t **env,
+ int soap_version);
+
+/*********************** end function prototypes ******************************/
+
+
+AXIS2_DECLARE(axis2_soap_fault_role_t *)
+axis2_soap_fault_role_create(axis2_env_t **env)
+{
+ axis2_soap_fault_role_impl_t *fault_role_impl = NULL;
+ AXIS2_ENV_CHECK(env, NULL);
+ fault_role_impl = (axis2_soap_fault_role_impl_t*) AXIS2_MALLOC(
+ (*env)->allocator,
+ sizeof(axis2_soap_fault_role_impl_t));
+ if(!fault_role_impl)
+ {
+ AXIS2_ERROR_SET((*env)->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE);
+ return NULL;
+ }
+
+ fault_role_impl->fault_role.ops = NULL;
+ fault_role_impl->om_ele = NULL;
+ fault_role_impl->om_ele_node = NULL;
+
+ fault_role_impl->soap_version = AXIS2_SOAP_VERSION_NOT_SET;
+ fault_role_impl->parent = NULL;
+
+ fault_role_impl->fault_role.ops =
+ (axis2_soap_fault_role_ops_t*)AXIS2_MALLOC((*env)->allocator,
+ sizeof(axis2_soap_fault_role_ops_t));
+
+ if(!(fault_role_impl->fault_role.ops))
+ {
+ AXIS2_ERROR_SET((*env)->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE);
+ AXIS2_FREE((*env)->allocator, fault_role_impl);
+ return NULL;
+ }
+
+ fault_role_impl->fault_role.ops->free_fn =
+ axis2_soap_fault_role_free;
+
+ fault_role_impl->fault_role.ops->get_role_value =
+ axis2_soap_fault_role_get_role_value;
+
+ fault_role_impl->fault_role.ops->set_role_value =
+ axis2_soap_fault_role_set_role_value;
+
+ fault_role_impl->fault_role.ops->set_base_node =
+ axis2_soap_fault_role_set_base_node;
+
+ fault_role_impl->fault_role.ops->get_base_node =
+ axis2_soap_fault_role_get_base_node;
+
+ fault_role_impl->fault_role.ops->get_soap_version =
+ axis2_soap_fault_role_get_soap_version;
+
+ fault_role_impl->fault_role.ops->set_soap_version =
+ axis2_soap_fault_role_set_soap_version;
+
+ return &(fault_role_impl->fault_role);
+}
+
+AXIS2_DECLARE(axis2_soap_fault_role_t *)
+axis2_soap_fault_role_create_with_parent(axis2_env_t **env,
+ axis2_soap_fault_t *fault,
+ axis2_bool_t extract_ns_form_parent)
+{
+ axis2_soap_fault_role_impl_t *fault_role_impl = NULL;
+ axis2_soap_fault_role_t *fault_role = NULL;
+ axis2_om_element_t *this_ele = NULL;
+ axis2_om_node_t *this_node = NULL;
+ axis2_om_node_t *parent_node = NULL;
+ axis2_om_element_t *parent_ele = NULL;
+ axis2_om_namespace_t *parent_ns = NULL;
+
+ AXIS2_ENV_CHECK(env, NULL);
+ AXIS2_PARAM_CHECK((*env)->error, fault, NULL);
+
+ fault_role = axis2_soap_fault_role_create(env);
+ if(!fault_role)
+ return NULL;
+
+ fault_role_impl = AXIS2_INTF_TO_IMPL(fault_role);
+
+ fault_role_impl->parent = fault;
+
+ parent_node = AXIS2_SOAP_FAULT_GET_BASE_NODE(fault, env);
+
+ parent_ele = (axis2_om_element_t *)AXIS2_OM_NODE_GET_DATA_ELEMENT(
+ fault_role_impl->om_ele_node, env);
+
+ if(extract_ns_form_parent)
+ {
+ parent_ns = AXIS2_OM_ELEMENT_GET_NAMESPACE(parent_ele, env);
+ }
+
+ this_ele = axis2_om_element_create(env,
+ parent_node,
+ AXIS2_SOAP12_SOAP_FAULT_ROLE_LOCAL_NAME,
+ parent_ns,
+ &this_node);
+ fault_role_impl->om_ele = this_ele;
+ fault_role_impl->om_ele_node = this_node;
+ return &(fault_role_impl->fault_role);
+}
+
+
+axis2_status_t AXIS2_CALL
+axis2_soap_fault_role_free(axis2_soap_fault_role_t *fault_role,
+ axis2_env_t **env)
+{
+ axis2_soap_fault_role_impl_t *fault_role_impl = NULL;
+ AXIS2_FUNC_PARAM_CHECK(fault_role, env, AXIS2_FAILURE);
+ if(fault_role->ops)
+ AXIS2_FREE((*env)->allocator, fault_role->ops);
+
+ AXIS2_FREE((*env)->allocator, AXIS2_INTF_TO_IMPL(fault_role));
+ return AXIS2_SUCCESS;
+}
+
+axis2_status_t AXIS2_CALL
+axis2_soap_fault_role_set_role_value
+ (axis2_soap_fault_role_t *fault_role,
+ axis2_env_t **env,
+ axis2_char_t* uri)
+{
+ axis2_soap_fault_role_impl_t *fault_role_impl = NULL;
+ AXIS2_FUNC_PARAM_CHECK(fault_role, env, AXIS2_FAILURE);
+ AXIS2_PARAM_CHECK((*env)->error, uri, AXIS2_FAILURE);
+ fault_role_impl = AXIS2_INTF_TO_IMPL(fault_role);
+
+ if(fault_role_impl->om_ele && fault_role_impl->om_ele_node)
+ {
+ return AXIS2_OM_ELEMENT_SET_TEXT(fault_role_impl->om_ele,
+ env,
+ uri,
+ fault_role_impl->om_ele_node);
+ }
+ return AXIS2_FAILURE;
+}
+
+axis2_char_t* AXIS2_CALL
+axis2_soap_fault_role_get_role_value
+ (axis2_soap_fault_role_t *fault_role,
+ axis2_env_t **env)
+{
+ axis2_soap_fault_role_impl_t *fault_role_impl = NULL;
+ AXIS2_FUNC_PARAM_CHECK(fault_role, env, NULL);
+ fault_role_impl = AXIS2_INTF_TO_IMPL(fault_role);
+
+ if(fault_role_impl->om_ele && fault_role_impl->om_ele_node)
+ {
+ return AXIS2_OM_ELEMENT_GET_TEXT(fault_role_impl->om_ele,
+ env,
+ fault_role_impl->om_ele_node);
+ }
+ return NULL;
+}
+
+axis2_status_t AXIS2_CALL
+axis2_soap_fault_role_set_base_node
+ (axis2_soap_fault_role_t *fault_role,
+ axis2_env_t **env,
+ axis2_om_node_t *node)
+{
+ axis2_soap_fault_role_impl_t *fault_role_impl = NULL;
+ AXIS2_FUNC_PARAM_CHECK(fault_role, env, AXIS2_FAILURE);
+ AXIS2_PARAM_CHECK((*env)->error, node, AXIS2_FAILURE);
+ fault_role_impl = AXIS2_INTF_TO_IMPL(fault_role);
+
+ if(AXIS2_OM_NODE_GET_NODE_TYPE(node, env) != AXIS2_FAILURE)
+ {
+ AXIS2_ERROR_SET((*env)->error, AXIS2_ERROR_INVALID_BASE_TYPE, AXIS2_FAILURE);
+ return AXIS2_FAILURE;
+ }
+ fault_role_impl->om_ele_node = node;
+ fault_role_impl->om_ele = (axis2_om_element_t *)
+ AXIS2_OM_NODE_GET_DATA_ELEMENT(node, env);
+ return AXIS2_SUCCESS;
+
+
+}
+
+axis2_om_node_t* AXIS2_CALL
+axis2_soap_fault_role_get_base_node
+ (axis2_soap_fault_role_t *fault_role,
+ axis2_env_t **env)
+{
+ AXIS2_FUNC_PARAM_CHECK(fault_role, env, NULL);
+ return AXIS2_INTF_TO_IMPL(fault_role)->om_ele_node;
+}
+
+int AXIS2_CALL
+axis2_soap_fault_role_get_soap_version
+ (axis2_soap_fault_role_t *fault_role,
+ axis2_env_t **env)
+{
+ AXIS2_FUNC_PARAM_CHECK(fault_role, env, AXIS2_FAILURE);
+ return AXIS2_INTF_TO_IMPL(fault_role)->soap_version;
+}
+
+axis2_status_t AXIS2_CALL
+axis2_soap_fault_role_set_soap_version
+ (axis2_soap_fault_role_t *fault_role,
+ axis2_env_t **env,
+ int soap_version)
+{
+ AXIS2_FUNC_PARAM_CHECK(fault_role, env, AXIS2_FAILURE);
+ AXIS2_PARAM_CHECK((*env)->error, soap_version, AXIS2_FAILURE);
+ AXIS2_INTF_TO_IMPL(fault_role)->soap_version = soap_version;
+ return AXIS2_SUCCESS;
+}
Added: webservices/axis2/trunk/c/modules/xml/soap/src/axis2_soap_fault_sub_code.c
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/xml/soap/src/axis2_soap_fault_sub_code.c?rev=358221&view=auto
==============================================================================
--- webservices/axis2/trunk/c/modules/xml/soap/src/axis2_soap_fault_sub_code.c (added)
+++ webservices/axis2/trunk/c/modules/xml/soap/src/axis2_soap_fault_sub_code.c Tue Dec 20 22:13:14 2005
@@ -0,0 +1,397 @@
+/*
+ * 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.
+ */
+
+ #include <axis2_soap_fault_sub_code.h>
+ #include <axis2_soap_fault_code.h>
+ #include <axis2_soap_fault_value.h>
+ #include <axis2_soap_utils.h>
+ /********************** impl struct ******************************************/
+
+ typedef struct axis2_soap_fault_sub_code_impl_t
+ {
+ axis2_soap_fault_sub_code_t fault_sub_code;
+
+ axis2_om_node_t *om_ele_node;
+
+ axis2_om_element_t *om_ele;
+
+ axis2_soap_fault_value_t *value;
+
+ axis2_soap_fault_sub_code_t *subcode;
+
+ axis2_soap_fault_code_t *parent;
+
+ int soap_version;
+
+}axis2_soap_fault_sub_code_impl_t;
+
+/************************* Macro *********************************************/
+
+#define AXIS2_INTF_TO_IMPL(subcode) \
+ ((axis2_soap_fault_sub_code_impl_t*)subcode)
+
+/******************** function prototypes *************************************/
+
+axis2_status_t AXIS2_CALL
+axis2_soap_fault_sub_code_free(axis2_soap_fault_sub_code_t *fault_sub_code,
+ axis2_env_t **env);
+
+axis2_status_t AXIS2_CALL
+axis2_soap_fault_sub_code_set_sub_code(
+ axis2_soap_fault_sub_code_t *fault_sub_code,
+ axis2_env_t **env,
+ axis2_soap_fault_sub_code_t *sub_code);
+
+axis2_soap_fault_value_t* AXIS2_CALL
+axis2_soap_fault_sub_code_get_value
+ (axis2_soap_fault_sub_code_t *fault_sub_code,
+ axis2_env_t **env);
+axis2_status_t AXIS2_CALL
+axis2_soap_fault_sub_code_set_value
+ (axis2_soap_fault_sub_code_t *fault_sub_code,
+ axis2_env_t **env,
+ axis2_soap_fault_value_t *fault_sub_code_val);
+
+axis2_soap_fault_sub_code_t* AXIS2_CALL
+axis2_soap_fault_sub_code_get_sub_code(
+ axis2_soap_fault_sub_code_t *fault_sub_code,
+ axis2_env_t **env);
+
+axis2_status_t AXIS2_CALL
+axis2_soap_fault_sub_code_set_base_node
+ (axis2_soap_fault_sub_code_t *fault_sub_code,
+ axis2_env_t **env,
+ axis2_om_node_t *node);
+
+axis2_om_node_t* AXIS2_CALL
+axis2_soap_fault_sub_code_get_base_node
+ (axis2_soap_fault_sub_code_t *fault_sub_code,
+ axis2_env_t **env);
+
+int AXIS2_CALL
+axis2_soap_fault_sub_code_get_soap_version
+ (axis2_soap_fault_sub_code_t *fault_sub_code,
+ axis2_env_t **env);
+axis2_status_t AXIS2_CALL
+axis2_soap_fault_sub_code_set_soap_version
+ (axis2_soap_fault_sub_code_t *fault_sub_code,
+ axis2_env_t **env,
+ int soap_version);
+
+
+/********************** function implementations ******************************/
+
+AXIS2_DECLARE(axis2_soap_fault_sub_code_t *)
+axis2_soap_fault_sub_code_create(axis2_env_t **env)
+{
+ axis2_soap_fault_sub_code_impl_t *fault_subcode_impl = NULL;
+ AXIS2_ENV_CHECK(env, NULL);
+ fault_subcode_impl = (axis2_soap_fault_sub_code_impl_t*) AXIS2_MALLOC(
+ (*env)->allocator,
+ sizeof(axis2_soap_fault_sub_code_impl_t));
+ if(!fault_subcode_impl)
+ {
+ AXIS2_ERROR_SET((*env)->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE);
+ return NULL;
+ }
+
+ fault_subcode_impl->fault_sub_code.ops = NULL;
+ fault_subcode_impl->om_ele = NULL;
+ fault_subcode_impl->om_ele_node = NULL;
+
+ fault_subcode_impl->soap_version = AXIS2_SOAP_VERSION_NOT_SET;
+ fault_subcode_impl->value = NULL;
+ fault_subcode_impl->subcode = NULL;
+ fault_subcode_impl->parent = NULL;
+
+ fault_subcode_impl->fault_sub_code.ops =
+ (axis2_soap_fault_sub_code_ops_t*)AXIS2_MALLOC((*env)->allocator,
+ sizeof(axis2_soap_fault_sub_code_ops_t));
+
+ if(!(fault_subcode_impl->fault_sub_code.ops))
+ {
+ AXIS2_ERROR_SET((*env)->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE);
+ AXIS2_FREE((*env)->allocator, fault_subcode_impl);
+ return NULL;
+ }
+
+ fault_subcode_impl->fault_sub_code.ops->free_fn =
+ axis2_soap_fault_sub_code_free;
+
+ fault_subcode_impl->fault_sub_code.ops->get_sub_code =
+ axis2_soap_fault_sub_code_get_sub_code;
+
+ fault_subcode_impl->fault_sub_code.ops->set_sub_code =
+ axis2_soap_fault_sub_code_set_sub_code;
+
+ fault_subcode_impl->fault_sub_code.ops->get_value =
+ axis2_soap_fault_sub_code_get_value;
+
+ fault_subcode_impl->fault_sub_code.ops->set_value =
+ axis2_soap_fault_sub_code_set_value;
+
+ fault_subcode_impl->fault_sub_code.ops->set_base_node =
+ axis2_soap_fault_sub_code_set_base_node;
+
+ fault_subcode_impl->fault_sub_code.ops->get_base_node =
+ axis2_soap_fault_sub_code_get_base_node;
+
+ fault_subcode_impl->fault_sub_code.ops->get_soap_version =
+ axis2_soap_fault_sub_code_get_soap_version;
+
+ fault_subcode_impl->fault_sub_code.ops->set_soap_version =
+ axis2_soap_fault_sub_code_set_soap_version;
+
+ return &(fault_subcode_impl->fault_sub_code);
+}
+
+AXIS2_DECLARE(axis2_soap_fault_sub_code_t *)
+axis2_soap_fault_sub_code_create_with_parent(axis2_env_t **env,
+ axis2_soap_fault_code_t *fault_code)
+{
+ axis2_soap_fault_sub_code_impl_t *fault_sub_code_impl = NULL;
+ axis2_soap_fault_sub_code_t *fault_sub_code = NULL;
+ axis2_om_element_t *this_ele = NULL;
+ axis2_om_node_t *this_node = NULL;
+ axis2_om_node_t *parent_node = NULL;
+ axis2_om_element_t *parent_ele = NULL;
+
+ AXIS2_ENV_CHECK(env, NULL);
+ AXIS2_PARAM_CHECK((*env)->error, fault_code, NULL);
+
+ fault_sub_code = axis2_soap_fault_sub_code_create(env);
+ if(!fault_sub_code)
+ return NULL;
+ fault_sub_code_impl = AXIS2_INTF_TO_IMPL(fault_sub_code);
+
+ fault_sub_code_impl->parent = fault_code;
+ parent_node = AXIS2_SOAP_FAULT_CODE_GET_BASE_NODE(fault_code, env);
+ parent_ele = (axis2_om_element_t *)AXIS2_OM_NODE_GET_DATA_ELEMENT(
+ fault_sub_code_impl->om_ele_node, env);
+
+ this_ele = axis2_om_element_create(env,
+ parent_node,
+ AXIS2_SOAP12_SOAP_FAULT_SUB_CODE_LOCAL_NAME,
+ AXIS2_OM_ELEMENT_GET_NAMESPACE(parent_ele, env),
+ &this_node);
+ fault_sub_code_impl->om_ele = this_ele;
+ fault_sub_code_impl->om_ele_node = this_node;
+ return &(fault_sub_code_impl->fault_sub_code);
+}
+
+axis2_status_t AXIS2_CALL
+axis2_soap_fault_sub_code_free(axis2_soap_fault_sub_code_t *fault_sub_code,
+ axis2_env_t **env)
+{
+ axis2_soap_fault_sub_code_impl_t *fault_sub_code_impl = NULL;
+ AXIS2_FUNC_PARAM_CHECK(fault_sub_code, env, AXIS2_FAILURE);
+ fault_sub_code_impl = AXIS2_INTF_TO_IMPL(fault_sub_code);
+
+ if(fault_sub_code_impl->value)
+ {
+ AXIS2_SOAP_FAULT_VALUE_FREE(fault_sub_code_impl->value, env);
+ fault_sub_code_impl->value = NULL;
+ }
+ if(fault_sub_code_impl->subcode)
+ {
+ AXIS2_SOAP_FAULT_SUB_CODE_FREE(fault_sub_code_impl->subcode, env);
+ fault_sub_code_impl->subcode = NULL;
+ }
+ if(fault_sub_code->ops)
+ {
+ AXIS2_FREE((*env)->allocator, fault_sub_code->ops);
+ fault_sub_code->ops = NULL;
+ }
+ AXIS2_FREE((*env)->allocator, fault_sub_code_impl);
+ fault_sub_code_impl = NULL;
+ return AXIS2_SUCCESS;
+}
+
+axis2_status_t AXIS2_CALL
+axis2_soap_fault_sub_code_set_sub_code(
+ axis2_soap_fault_sub_code_t *fault_sub_code,
+ axis2_env_t **env,
+ axis2_soap_fault_sub_code_t *sub_code)
+{
+ axis2_soap_fault_sub_code_impl_t *fault_subcode_impl = NULL;
+ axis2_om_node_t *subcode_node = NULL;
+ axis2_om_node_t *this_node = NULL;
+
+ AXIS2_FUNC_PARAM_CHECK(fault_sub_code, env, AXIS2_FAILURE);
+ AXIS2_PARAM_CHECK((*env)->error, sub_code, AXIS2_FAILURE);
+
+ fault_subcode_impl = AXIS2_INTF_TO_IMPL(fault_sub_code);
+ if(fault_subcode_impl->subcode)
+ {
+ subcode_node = AXIS2_SOAP_FAULT_SUB_CODE_GET_BASE_NODE(
+ fault_subcode_impl->subcode, env);
+ AXIS2_SOAP_FAULT_SUB_CODE_FREE(fault_subcode_impl->subcode, env);
+ AXIS2_OM_NODE_FREE_TREE(subcode_node, env);
+ subcode_node = NULL;
+ fault_subcode_impl->subcode = NULL;
+ }
+
+ fault_subcode_impl->subcode = sub_code;
+ subcode_node = AXIS2_SOAP_FAULT_SUB_CODE_GET_BASE_NODE(
+ sub_code, env);
+
+ AXIS2_OM_NODE_ADD_CHILD(subcode_node, env, fault_subcode_impl->om_ele_node);
+
+ return AXIS2_SUCCESS;
+}
+
+axis2_soap_fault_value_t* AXIS2_CALL
+axis2_soap_fault_sub_code_get_value
+ (axis2_soap_fault_sub_code_t *fault_sub_code,
+ axis2_env_t **env)
+{
+ axis2_soap_fault_sub_code_impl_t *fault_subcode_impl = NULL;
+ axis2_om_node_t *subcode_node = NULL;
+ axis2_om_node_t *this_node = NULL;
+ axis2_soap_fault_value_t* fault_value = NULL;
+
+ AXIS2_FUNC_PARAM_CHECK(fault_sub_code, env, NULL);
+ fault_subcode_impl = AXIS2_INTF_TO_IMPL(fault_sub_code);
+ this_node = AXIS2_SOAP_FAULT_SUB_CODE_GET_BASE_NODE(fault_sub_code, env);
+
+
+ if(!(fault_subcode_impl->value))
+ {
+ subcode_node = axis2_soap_utils_get_child_with_name(env,
+ this_node,
+ AXIS2_SOAP12_SOAP_FAULT_VALUE_LOCAL_NAME);
+
+ fault_value = axis2_soap_fault_value_create(env);
+ AXIS2_SOAP_FAULT_VALUE_SET_BASE_NODE(fault_value, env, subcode_node);
+ fault_subcode_impl->value = fault_value;
+ }
+ return fault_subcode_impl->value;
+}
+axis2_status_t AXIS2_CALL
+axis2_soap_fault_sub_code_set_value
+ (axis2_soap_fault_sub_code_t *fault_sub_code,
+ axis2_env_t **env,
+ axis2_soap_fault_value_t *fault_sub_code_val)
+{
+ axis2_soap_fault_sub_code_impl_t *fault_subcode_impl = NULL;
+ axis2_om_node_t *value_node = NULL;
+ axis2_om_node_t *this_node = NULL;
+ axis2_om_node_t *my_node = NULL;
+
+ AXIS2_FUNC_PARAM_CHECK(fault_sub_code, env, AXIS2_FAILURE);
+ AXIS2_PARAM_CHECK((*env)->error, fault_sub_code_val, AXIS2_FAILURE);
+
+ fault_subcode_impl = AXIS2_INTF_TO_IMPL(fault_sub_code);
+ if(fault_subcode_impl->value)
+ {
+ my_node = AXIS2_SOAP_FAULT_VALUE_GET_BASE_NODE(
+ fault_subcode_impl->value, env);
+ AXIS2_SOAP_FAULT_SUB_CODE_FREE(fault_subcode_impl->value, env);
+ fault_subcode_impl->value = NULL;
+ }
+
+ value_node = AXIS2_SOAP_FAULT_VALUE_GET_BASE_NODE(
+ fault_sub_code_val, env);
+
+ axis2_soap_utils_set_new_node(env,
+ fault_subcode_impl->om_ele_node,
+ &my_node,
+ value_node);
+
+ fault_subcode_impl->value = fault_sub_code_val;
+ return AXIS2_SUCCESS;
+}
+
+axis2_soap_fault_sub_code_t* AXIS2_CALL
+axis2_soap_fault_sub_code_get_sub_code(
+ axis2_soap_fault_sub_code_t *fault_sub_code,
+ axis2_env_t **env)
+{
+ axis2_soap_fault_sub_code_impl_t *fault_subcode_impl = NULL;
+ axis2_om_node_t *subcode_node = NULL;
+ axis2_om_node_t *this_node = NULL;
+ axis2_soap_fault_sub_code_t* subcode = NULL;
+
+ AXIS2_FUNC_PARAM_CHECK(fault_sub_code, env, NULL);
+ AXIS2_PARAM_CHECK((*env)->error, fault_sub_code, NULL);
+ fault_subcode_impl = AXIS2_INTF_TO_IMPL(fault_sub_code);
+ this_node = AXIS2_SOAP_FAULT_SUB_CODE_GET_BASE_NODE(fault_sub_code, env);
+
+
+ if(!(fault_subcode_impl->subcode))
+ {
+ subcode_node = axis2_soap_utils_get_child_with_name(env,
+ this_node,
+ AXIS2_SOAP12_SOAP_FAULT_SUB_CODE_LOCAL_NAME);
+
+ subcode = axis2_soap_fault_sub_code_create(env);
+ AXIS2_SOAP_FAULT_SUB_CODE_SET_BASE_NODE(subcode , env, subcode_node);
+ fault_subcode_impl->subcode = subcode;
+ }
+ return fault_subcode_impl->subcode;
+}
+
+axis2_status_t AXIS2_CALL
+axis2_soap_fault_sub_code_set_base_node
+ (axis2_soap_fault_sub_code_t *fault_sub_code,
+ axis2_env_t **env,
+ axis2_om_node_t *node)
+{
+ axis2_soap_fault_sub_code_impl_t *fault_subcode_impl = NULL;
+ AXIS2_FUNC_PARAM_CHECK(fault_sub_code, env, AXIS2_FAILURE);
+ AXIS2_PARAM_CHECK((*env)->error, node, AXIS2_FAILURE);
+ fault_subcode_impl = AXIS2_INTF_TO_IMPL(fault_sub_code);
+
+ if(AXIS2_OM_NODE_GET_NODE_TYPE(node, env) != AXIS2_FAILURE)
+ {
+ AXIS2_ERROR_SET((*env)->error, AXIS2_ERROR_INVALID_BASE_TYPE, AXIS2_FAILURE);
+ return AXIS2_FAILURE;
+ }
+ fault_subcode_impl->om_ele_node = node;
+ fault_subcode_impl->om_ele = (axis2_om_element_t *)
+ AXIS2_OM_NODE_GET_DATA_ELEMENT(node, env);
+ return AXIS2_SUCCESS;
+}
+
+axis2_om_node_t* AXIS2_CALL
+axis2_soap_fault_sub_code_get_base_node
+ (axis2_soap_fault_sub_code_t *fault_sub_code,
+ axis2_env_t **env)
+{
+ AXIS2_FUNC_PARAM_CHECK(fault_sub_code, env, NULL);
+ return AXIS2_INTF_TO_IMPL(fault_sub_code)->om_ele_node;
+}
+
+int AXIS2_CALL
+axis2_soap_fault_sub_code_get_soap_version
+ (axis2_soap_fault_sub_code_t *fault_sub_code,
+ axis2_env_t **env)
+{
+ AXIS2_FUNC_PARAM_CHECK(fault_sub_code, env, AXIS2_FAILURE);
+ return AXIS2_INTF_TO_IMPL(fault_sub_code)->soap_version;
+}
+
+axis2_status_t AXIS2_CALL
+axis2_soap_fault_sub_code_set_soap_version
+ (axis2_soap_fault_sub_code_t *fault_sub_code,
+ axis2_env_t **env,
+ int soap_version)
+{
+ AXIS2_FUNC_PARAM_CHECK(fault_sub_code, env, AXIS2_FAILURE);
+ AXIS2_PARAM_CHECK((*env)->error, soap_version, AXIS2_FAILURE);
+ AXIS2_INTF_TO_IMPL(fault_sub_code)->soap_version = soap_version;
+ return AXIS2_SUCCESS;
+}
\ No newline at end of file
Added: webservices/axis2/trunk/c/modules/xml/soap/src/axis2_soap_fault_text.c
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/xml/soap/src/axis2_soap_fault_text.c?rev=358221&view=auto
==============================================================================
--- webservices/axis2/trunk/c/modules/xml/soap/src/axis2_soap_fault_text.c (added)
+++ webservices/axis2/trunk/c/modules/xml/soap/src/axis2_soap_fault_text.c Tue Dec 20 22:13:14 2005
@@ -0,0 +1,327 @@
+/*
+ * 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.
+ */
+
+#include <axis2_soap_fault.h>
+#include <axis2_om_element.h>
+#include <axis2_soap_fault_text.h>
+#include <axis2_soap_fault_reason.h>
+#include <axis2_om_namespace.h>
+#include <axis2_qname.h>
+
+
+/****************** impl struct *********************************************/
+
+ typedef struct axis2_soap_fault_text_impl_t
+ {
+ axis2_soap_fault_text_t fault_text;
+
+ axis2_om_attribute_t *lang_attribute;
+
+ axis2_om_namespace_t *lang_namespace;
+
+ axis2_om_node_t *om_ele_node;
+
+ axis2_om_element_t *om_ele;
+
+ axis2_soap_fault_reason_t *parent;
+
+ axis2_bool_t lang_ns_used;
+
+ int soap_version;
+
+}axis2_soap_fault_text_impl_t;
+
+/********************** Macro ************************************************/
+
+#define AXIS2_INTF_TO_IMPL(fault_txt) \
+ ((axis2_soap_fault_text_impl_t*)fault_txt)
+
+/********************* function prototypes ***********************************/
+
+axis2_status_t AXIS2_CALL
+axis2_soap_fault_text_free(axis2_soap_fault_text_t *fault_text,
+ axis2_env_t **env);
+
+axis2_status_t AXIS2_CALL
+axis2_soap_fault_text_set_lang(axis2_soap_fault_text_t *fault_text,
+ axis2_env_t **env,
+ axis2_char_t* lang);
+
+axis2_char_t* AXIS2_CALL
+axis2_soap_fault_text_get_lang(axis2_soap_fault_text_t *fault_text,
+ axis2_env_t **env);
+
+axis2_status_t AXIS2_CALL
+axis2_soap_fault_text_set_base_node(axis2_soap_fault_text_t *fault_text,
+ axis2_env_t **env,
+ axis2_om_node_t *node);
+
+axis2_om_node_t* AXIS2_CALL
+axis2_soap_fault_text_get_base_node(axis2_soap_fault_text_t *fault_text,
+ axis2_env_t **env);
+
+int AXIS2_CALL
+axis2_soap_fault_text_get_soap_version(axis2_soap_fault_text_t *fault_text,
+ axis2_env_t **env);
+
+axis2_status_t AXIS2_CALL
+axis2_soap_fault_text_set_soap_version(axis2_soap_fault_text_t *fault_text,
+ axis2_env_t **env,
+ int soap_version);
+
+/***************************** functions **************************************/
+
+
+AXIS2_DECLARE(axis2_soap_fault_text_t *)
+axis2_soap_fault_text_create(axis2_env_t **env)
+{
+ axis2_soap_fault_text_impl_t *fault_text_impl = NULL;
+ AXIS2_ENV_CHECK(env, NULL);
+
+ fault_text_impl = (axis2_soap_fault_text_impl_t*)AXIS2_MALLOC(
+ (*env)->allocator,
+ sizeof(axis2_soap_fault_text_impl_t));
+ if(!fault_text_impl)
+ {
+ AXIS2_ERROR_SET((*env)->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE);
+ return NULL;
+ }
+
+ fault_text_impl->fault_text.ops = NULL;
+ fault_text_impl->om_ele = NULL;
+ fault_text_impl->om_ele_node = NULL;
+ fault_text_impl->lang_attribute = NULL;
+ fault_text_impl->lang_namespace = NULL;
+ fault_text_impl->lang_ns_used = AXIS2_FALSE;
+ fault_text_impl->soap_version = AXIS2_SOAP_VERSION_NOT_SET;
+
+ fault_text_impl->lang_namespace = axis2_om_namespace_create(env,
+ AXIS2_SOAP12_SOAP_FAULT_TEXT_LANG_ATTR_NS_URI,
+ AXIS2_SOAP12_SOAP_FAULT_TEXT_LANG_ATTR_NS_PREFIX);
+
+ if(!(fault_text_impl->lang_namespace))
+ return NULL;
+
+ fault_text_impl->fault_text.ops = (axis2_soap_fault_text_ops_t*)AXIS2_MALLOC(
+ (*env)->allocator,
+ sizeof(axis2_soap_fault_text_ops_t));
+ if(!(fault_text_impl->fault_text.ops))
+ {
+ AXIS2_FREE((*env)->allocator, fault_text_impl);
+ fault_text_impl = NULL;
+ AXIS2_ERROR_SET((*env)->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE);
+ return NULL;
+ }
+
+ fault_text_impl->fault_text.ops->free_fn =
+ axis2_soap_fault_text_free;
+
+ fault_text_impl->fault_text.ops->set_lang =
+ axis2_soap_fault_text_set_lang;
+
+ fault_text_impl->fault_text.ops->get_lang =
+ axis2_soap_fault_text_get_lang;
+
+ fault_text_impl->fault_text.ops->get_base_node =
+ axis2_soap_fault_text_get_base_node;
+
+ fault_text_impl->fault_text.ops->set_base_node =
+ axis2_soap_fault_text_set_base_node;
+
+ fault_text_impl->fault_text.ops->get_soap_version =
+ axis2_soap_fault_text_get_soap_version;
+
+ fault_text_impl->fault_text.ops->set_soap_version =
+ axis2_soap_fault_text_set_soap_version;
+
+ return &(fault_text_impl->fault_text);
+}
+
+
+
+AXIS2_DECLARE(axis2_soap_fault_text_t *)
+axis2_soap_fault_text_create_with_parent(axis2_env_t **env,
+ axis2_soap_fault_reason_t *parent)
+{
+ axis2_soap_fault_text_impl_t *fault_text_impl = NULL;
+ axis2_soap_fault_text_t *fault_text = NULL;
+ axis2_om_element_t *this_ele = NULL;
+ axis2_om_node_t *this_node = NULL;
+ axis2_om_node_t *parent_node = NULL;
+ axis2_om_element_t *parent_ele = NULL;
+ AXIS2_ENV_CHECK(env, NULL);
+ AXIS2_PARAM_CHECK((*env)->error, parent, NULL);
+ fault_text = axis2_soap_fault_text_create(env);
+
+ if(!fault_text)
+ {
+ return NULL;
+ }
+
+ fault_text_impl = AXIS2_INTF_TO_IMPL(fault_text);
+
+ fault_text_impl->parent = parent;
+
+ parent_node = AXIS2_SOAP_FAULT_REASON_GET_BASE_NODE(parent, env);
+ parent_ele = (axis2_om_element_t*)
+ AXIS2_OM_NODE_GET_DATA_ELEMENT(parent_node, env);
+
+ this_ele = axis2_om_element_create(env,
+ parent_node,
+ AXIS2_SOAP12_SOAP_FAULT_TEXT_LOCAL_NAME,
+ AXIS2_OM_ELEMENT_GET_NAMESPACE(parent_ele, env),
+ &this_node);
+ fault_text_impl->om_ele_node = this_node;
+ fault_text_impl->om_ele = this_ele;
+
+ return &(fault_text_impl->fault_text);
+}
+
+
+axis2_status_t AXIS2_CALL
+axis2_soap_fault_text_free(axis2_soap_fault_text_t *fault_text,
+ axis2_env_t **env)
+{
+ axis2_soap_fault_text_impl_t* fault_text_impl = NULL;
+ AXIS2_FUNC_PARAM_CHECK(fault_text, env, AXIS2_FAILURE);
+ fault_text_impl = AXIS2_INTF_TO_IMPL(fault_text);
+
+ if(fault_text->ops)
+ {
+ AXIS2_FREE((*env)->allocator, fault_text->ops);
+ fault_text->ops = NULL;
+ }
+ if(fault_text_impl->lang_ns_used = AXIS2_FALSE && fault_text_impl->lang_namespace)
+ {
+ AXIS2_OM_NAMESPACE_FREE(fault_text_impl->lang_namespace, env);
+ fault_text_impl->lang_namespace = NULL;
+ }
+ AXIS2_FREE((*env)->allocator, fault_text_impl);
+ fault_text_impl = NULL;
+ return AXIS2_SUCCESS;
+}
+
+axis2_status_t AXIS2_CALL
+axis2_soap_fault_text_set_lang(axis2_soap_fault_text_t *fault_text,
+ axis2_env_t **env,
+ axis2_char_t* lang)
+{
+ axis2_soap_fault_text_impl_t* fault_text_impl = NULL;
+ AXIS2_FUNC_PARAM_CHECK(fault_text, env, AXIS2_FAILURE);
+ AXIS2_PARAM_CHECK((*env)->error, lang, AXIS2_FAILURE);
+ fault_text_impl = AXIS2_INTF_TO_IMPL(fault_text);
+
+ fault_text_impl->lang_attribute = axis2_om_attribute_create(env,
+ AXIS2_SOAP12_SOAP_FAULT_TEXT_LANG_ATTR_LOCAL_NAME,
+ lang, fault_text_impl->lang_namespace);
+
+ fault_text_impl->lang_ns_used = AXIS2_TRUE;
+
+ if(fault_text_impl->om_ele)
+ {
+ AXIS2_OM_ELEMENT_ADD_ATTRIBUTE(fault_text_impl->om_ele, env,
+ fault_text_impl->lang_attribute,
+ fault_text_impl->om_ele_node);
+ return AXIS2_SUCCESS;
+ }
+ return AXIS2_FAILURE;
+}
+
+axis2_char_t* AXIS2_CALL
+axis2_soap_fault_text_get_lang(axis2_soap_fault_text_t *fault_text,
+ axis2_env_t **env)
+{
+ axis2_soap_fault_text_impl_t* fault_text_impl = NULL;
+ axis2_qname_t* tmp_qname = NULL;
+ AXIS2_FUNC_PARAM_CHECK(fault_text, env, NULL);
+ fault_text_impl = AXIS2_INTF_TO_IMPL(fault_text);
+ /* this logic need to be rechecked */
+ if(!(fault_text_impl->lang_attribute))
+ {
+ tmp_qname = axis2_qname_create(env,
+ AXIS2_SOAP12_SOAP_FAULT_TEXT_LANG_ATTR_LOCAL_NAME,
+ AXIS2_SOAP12_SOAP_FAULT_TEXT_LANG_ATTR_NS_URI,
+ AXIS2_SOAP12_SOAP_FAULT_TEXT_LANG_ATTR_NS_PREFIX);
+
+ fault_text_impl->lang_attribute =
+ AXIS2_OM_ELEMENT_GET_ATTRIBUTE(fault_text_impl->om_ele,
+ env,
+ tmp_qname);
+ AXIS2_QNAME_FREE(tmp_qname, env);
+ }
+ if(fault_text_impl->lang_attribute)
+ {
+ return AXIS2_OM_ATTRIBUTE_GET_VALUE(fault_text_impl->lang_attribute, env);
+ }
+ else
+ return NULL;
+}
+
+axis2_status_t AXIS2_CALL
+axis2_soap_fault_text_set_base_node(axis2_soap_fault_text_t *fault_text,
+ axis2_env_t **env,
+ axis2_om_node_t *node)
+{
+ axis2_soap_fault_text_impl_t* fault_text_impl = NULL;
+ AXIS2_FUNC_PARAM_CHECK(fault_text, env, AXIS2_FAILURE);
+ AXIS2_PARAM_CHECK((*env)->error, node, AXIS2_FAILURE);
+ fault_text_impl = AXIS2_INTF_TO_IMPL(fault_text);
+ if(AXIS2_OM_NODE_GET_NODE_TYPE(node, env) != AXIS2_OM_ELEMENT)
+ {
+ AXIS2_ERROR_SET((*env)->error,
+ AXIS2_ERROR_INVALID_BASE_TYPE, AXIS2_FAILURE);
+ return AXIS2_FAILURE;
+ }
+
+ fault_text_impl = AXIS2_INTF_TO_IMPL(fault_text);
+ fault_text_impl->om_ele_node = node;
+ fault_text_impl->om_ele = (axis2_om_element_t *)
+ AXIS2_OM_NODE_GET_DATA_ELEMENT(node, env);
+ return AXIS2_SUCCESS;
+}
+
+axis2_om_node_t* AXIS2_CALL
+axis2_soap_fault_text_get_base_node(axis2_soap_fault_text_t *fault_text,
+ axis2_env_t **env)
+{
+ axis2_soap_fault_text_impl_t* fault_text_impl = NULL;
+ AXIS2_FUNC_PARAM_CHECK(fault_text, env, NULL);
+ fault_text_impl = AXIS2_INTF_TO_IMPL(fault_text);
+ return fault_text_impl->om_ele_node;
+}
+
+int AXIS2_CALL
+axis2_soap_fault_text_get_soap_version(axis2_soap_fault_text_t *fault_text,
+ axis2_env_t **env)
+{
+ axis2_soap_fault_text_impl_t* fault_text_impl = NULL;
+ AXIS2_FUNC_PARAM_CHECK(fault_text, env, AXIS2_FAILURE);
+ fault_text_impl = AXIS2_INTF_TO_IMPL(fault_text);
+ return fault_text_impl->soap_version;
+}
+
+axis2_status_t AXIS2_CALL
+axis2_soap_fault_text_set_soap_version(axis2_soap_fault_text_t *fault_text,
+ axis2_env_t **env,
+ int soap_version)
+{
+ axis2_soap_fault_text_impl_t* fault_text_impl = NULL;
+ AXIS2_FUNC_PARAM_CHECK(fault_text, env, AXIS2_FAILURE);
+ AXIS2_PARAM_CHECK((*env)->error, soap_version, AXIS2_FAILURE);
+ fault_text_impl = AXIS2_INTF_TO_IMPL(fault_text);
+ fault_text_impl->soap_version = soap_version;
+ return AXIS2_SUCCESS;
+}