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 2006/03/16 05:06:29 UTC
svn commit: r386253 [3/3] - in /webservices/axis2/trunk/c: include/
modules/xml/om/ modules/xml/parser/libxml2/ modules/xml/soap/ test/xml/om/
test/xml/soap/
Modified: webservices/axis2/trunk/c/test/xml/soap/test_soap.c
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/test/xml/soap/test_soap.c?rev=386253&r1=386252&r2=386253&view=diff
==============================================================================
--- webservices/axis2/trunk/c/test/xml/soap/test_soap.c (original)
+++ webservices/axis2/trunk/c/test/xml/soap/test_soap.c Wed Mar 15 20:06:25 2006
@@ -41,16 +41,25 @@
axis2_char_t *uri = NULL;
axis2_char_t *prefix = NULL;
AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
+ if(!om_node)
+ return AXIS2_FAILURE;
+
if(AXIS2_OM_NODE_GET_NODE_TYPE(om_node, env) == AXIS2_OM_ELEMENT)
{
om_ele = (axis2_om_element_t *)AXIS2_OM_NODE_GET_DATA_ELEMENT(om_node, env);
+ if(!om_ele)
+ return AXIS2_FAILURE;
+
localname = AXIS2_OM_ELEMENT_GET_LOCALNAME(om_ele, env);
- printf("\n %s \n", localname);
+ if(NULL != localname)
+ printf("\n %s \n", localname);
om_ns = AXIS2_OM_ELEMENT_GET_NAMESPACE(om_ele, env);
+
if(om_ns)
{
prefix = AXIS2_OM_NAMESPACE_GET_PREFIX(om_ns, env);
uri = AXIS2_OM_NAMESPACE_GET_URI(om_ns, env);
+
printf("\n uri %s \n prefix %s \n",uri, prefix);
}
}
@@ -61,18 +70,25 @@
{
axis2_om_document_t *om_doc = NULL;
axis2_om_stax_builder_t *om_builder = NULL;
+
axis2_xml_reader_t *xml_reader = NULL;
+
axis2_soap_builder_t *soap_builder = NULL;
axis2_soap_envelope_t *soap_envelope = NULL;
+
axis2_om_node_t *om_node = NULL;
axis2_char_t *buffer = NULL;
+
axis2_xml_writer_t *xml_writer = NULL;
axis2_om_output_t *om_output = NULL;
+
axis2_soap_body_t *soap_body = NULL;
axis2_soap_header_t *soap_header = NULL;
axis2_soap_header_block_t *header_block = NULL;
axis2_om_children_qname_iterator_t *children_iter = NULL;
+
axis2_hash_t *hbs = NULL;
+
int status = AXIS2_SUCCESS;
if(!filename)
@@ -80,86 +96,131 @@
f = fopen(filename, "r");
if(!f)
return -1;
+ printf(" \n\n _________ Test SOAP BUILD ___________ \n\n ");
xml_reader = axis2_xml_reader_create_for_memory(env, read_soap,close_soap ,NULL, NULL);
-
+ if(!xml_reader)
+ {
+ printf("%s \n", AXIS2_ERROR_GET_MESSAGE((*env)->error));
+ return AXIS2_FAILURE;
+ }
+
+
om_builder = axis2_om_stax_builder_create(env, xml_reader);
-
- /*om_doc = axis2_om_document_create(env, NULL, om_builder); */
-
+ if(!om_builder)
+ {
+ AXIS2_XML_READER_FREE(xml_reader, env);
+ printf("%s \n", AXIS2_ERROR_GET_MESSAGE((*env)->error));
+ return AXIS2_FAILURE;
+ }
soap_builder = axis2_soap_builder_create(env, om_builder, uri);
if(!soap_builder)
{
printf("%s \n", AXIS2_ERROR_GET_MESSAGE((*env)->error));
- return -1;
+ return AXIS2_FAILURE;
}
soap_envelope = AXIS2_SOAP_BUILDER_GET_SOAP_ENVELOPE(soap_builder, env);
+ if(!soap_envelope)
+ {
+ AXIS2_SOAP_BUILDER_FREE(soap_builder, env);
+ printf("%s \n", AXIS2_ERROR_GET_MESSAGE((*env)->error));
+ return AXIS2_FAILURE;
+ }
+
om_node = AXIS2_SOAP_ENVELOPE_GET_BASE_NODE(soap_envelope, env);
- printnode(om_node, env);
+
+ if(NULL != om_node)
+ printnode(om_node, env);
+
soap_header = AXIS2_SOAP_ENVELOPE_GET_HEADER(soap_envelope, env);
- if(soap_header)
+ if(NULL != soap_header)
{
om_node = AXIS2_SOAP_HEADER_GET_BASE_NODE(soap_header, env);
- printnode(om_node, env);
+ if(NULL != om_node)
+ printnode(om_node, env);
children_iter = AXIS2_SOAP_HEADER_EXAMINE_ALL_HEADER_BLOCKS(soap_header, env);
- if(children_iter)
+ if(NULL != children_iter)
{
while(AXIS2_OM_CHILDREN_ITERATOR_HAS_NEXT(children_iter, env))
{
om_node = AXIS2_OM_CHILDREN_ITERATOR_NEXT(children_iter, env);
- printnode(om_node, env);
+ if(NULL != om_node)
+ printnode(om_node, env);
}
}
}
+
soap_body = AXIS2_SOAP_ENVELOPE_GET_BODY(soap_envelope, env);
- if (soap_body)
+ if (NULL != soap_body)
{
- om_node = AXIS2_SOAP_HEADER_GET_BASE_NODE(soap_body, env);
- if(!om_node)
- printf("om_node null");
- printnode(om_node, env);
+ om_node = AXIS2_SOAP_BODY_GET_BASE_NODE(soap_body, env);
+ if(NULL != om_node)
+ printnode(om_node, env);
+ else
+ printf("\n\n soap body base node null \n\n");
}
else
{
+ printf("%s \n", AXIS2_ERROR_GET_MESSAGE((*env)->error));
printf ("\n\n ERROR soap_body NULL.\n\n");
return AXIS2_FAILURE;
}
- if(soap_body)
- if(AXIS2_SOAP_BODY_HAS_FAULT(soap_body, env))
- {
- printf("\n\n has fault\n\n\n ");
- }
+
+ if(AXIS2_SOAP_BODY_HAS_FAULT(soap_body, env))
+ {
+ printf("\n\nsoap body has a fault element\n\n\n ");
+ }
- AXIS2_SOAP_BODY_BUILD(soap_body, env);
om_node = AXIS2_SOAP_BODY_GET_BASE_NODE(soap_body, env);
-
- while(!(AXIS2_OM_NODE_GET_BUILD_STATUS(om_node, env)) && !(AXIS2_OM_STAX_BUILDER_IS_COMPLETE(om_builder, env)))
+ if(om_node)
{
- status = AXIS2_SOAP_BUILDER_NEXT(soap_builder, env);
- if(status == AXIS2_FAILURE)
- {
- printf("failure %s" ,AXIS2_ERROR_GET_MESSAGE((*env)->error));
- break;
- }
+ while(!(AXIS2_OM_NODE_GET_BUILD_STATUS(om_node, env)))
+ {
+ status = AXIS2_SOAP_BUILDER_NEXT(soap_builder, env);
+ if(status == AXIS2_FAILURE)
+ {
+ printf("failure %s" ,AXIS2_ERROR_GET_MESSAGE((*env)->error));
+ return AXIS2_FAILURE;
+ }
+ }
}
xml_writer = axis2_xml_writer_create_for_memory(env, NULL, AXIS2_FALSE, AXIS2_FALSE);
+ if(!xml_writer)
+ {
+ AXIS2_SOAP_BUILDER_FREE(soap_builder, env);
+ return AXIS2_FAILURE;
+ }
om_output = axis2_om_output_create( env, xml_writer);
+ if(!om_output)
+ {
+ AXIS2_SOAP_BUILDER_FREE(soap_builder, env);
+ AXIS2_XML_WRITER_FREE(xml_writer, env);
+ return AXIS2_FAILURE;
+ }
+
AXIS2_SOAP_ENVELOPE_SERIALIZE(soap_envelope, env, om_output, AXIS2_FALSE);
+
buffer = AXIS2_XML_WRITER_GET_XML(xml_writer, env);
- printf("%s \n", buffer);
- if(buffer)
+
+ printf("\n\nThe serialized xml is >>>>>>>>>>>>>\n\n\n%s \n\n\n", buffer);
+
+ if(NULL != buffer)
AXIS2_FREE((*env)->allocator, buffer);
+
AXIS2_SOAP_ENVELOPE_FREE(soap_envelope, env);
+
AXIS2_OM_OUTPUT_FREE(om_output, env);
- return AXIS2_SUCCESS;
+ printf(" \n __________ END TEST SOAP BUILD ____________ \n");
+
+ return AXIS2_SUCCESS;
}
@@ -169,28 +230,45 @@
axis2_soap_body_t *soap_body = NULL;
axis2_soap_header_t *soap_header = NULL;
axis2_soap_fault_t *soap_fault = NULL;
+ axis2_soap_fault_code_t *fault_code = NULL;
+ axis2_soap_header_block_t *hb1 = NULL;
+
axis2_om_namespace_t *env_ns = NULL;
+ axis2_om_namespace_t *test_ns = NULL;
+ axis2_om_namespace_t *role_ns = NULL;
+
axis2_xml_writer_t *xml_writer = NULL;
axis2_om_output_t *om_output = NULL;
+
axis2_char_t *buffer = NULL;
- axis2_soap_header_block_t *hb1 = NULL;
- axis2_om_namespace_t *test_ns = NULL;
- axis2_om_namespace_t *role_ns = NULL;
axis2_om_node_t *hb_node = NULL;
axis2_om_element_t *hb_ele = NULL;
- axis2_soap_fault_code_t *fault_code = NULL;
-
+
+ printf(" \n ____________ BUILD SOAP PROGRAMATICALLY _______________ \n");
+
+
env_ns = axis2_om_namespace_create(env, "http://www.w3.org/2003/05/soap-envelope", "env");
+ if(!env_ns)
+ return AXIS2_FAILURE;
+
soap_envelope = axis2_soap_envelope_create(env, env_ns);
-
+ if(!soap_envelope)
+ return AXIS2_FAILURE;
+
soap_header = axis2_soap_header_create_with_parent(env, soap_envelope);
+ if(!soap_header)
+ return AXIS2_FAILURE;
test_ns = axis2_om_namespace_create(env, "http://example.org/ts-tests", "test");
+
role_ns = axis2_om_namespace_create(env, "http://www.w3.org/2003/05/soap-envelope/role/next","role");
+
hb1 = axis2_soap_header_block_create_with_parent(env, "echoOk", role_ns , soap_header);
+
hb_node = AXIS2_SOAP_HEADER_BLOCK_GET_BASE_NODE(hb1, env);
+
hb_ele = AXIS2_OM_NODE_GET_DATA_ELEMENT(hb_node, env);
AXIS2_OM_ELEMENT_SET_NAMESPACE(hb_ele, env, test_ns, hb_node);
@@ -203,16 +281,25 @@
fault_code = axis2_soap_fault_code_create_with_parent(env, soap_fault);
xml_writer = axis2_xml_writer_create_for_memory(env, NULL, AXIS2_FALSE, AXIS2_FALSE);
+
om_output = axis2_om_output_create( env, xml_writer);
AXIS2_SOAP_ENVELOPE_SERIALIZE(soap_envelope, env, om_output, AXIS2_FALSE);
+
buffer = AXIS2_XML_WRITER_GET_XML(xml_writer, env);
+
printf("%s \n", buffer);
AXIS2_SOAP_ENVELOPE_FREE(soap_envelope, env);
+
AXIS2_FREE((*env)->allocator, buffer);
+
buffer = NULL;
+
AXIS2_OM_OUTPUT_FREE(om_output, env);
+
+ printf("\n __________ END BUILD SOAP PROGRAMATICALLY ____________\n");
+
return AXIS2_SUCCESS;
}
@@ -263,9 +350,9 @@
env = axis2_env_create_with_error_log(allocator, error, log);
axis2_error_init();
- build_soap_programatically(&env);
+/* build_soap_programatically(&env); */
build_soap(&env, filename,uri);
- create_soap_fault(&env);
+/* create_soap_fault(&env); */
axis2_env_free(env);
axis2_allocator_free(allocator);
return 0;