axis-c-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Tony Hoyt <>
Subject Axis2 Objects, Axiom and Serialization...
Date Mon, 10 Nov 2008 17:56:15 GMT
Okay,  I'm workign with Axis2/C a lot lately.  At the moment, I'm having a problem with converting
my Axis2/C generated objects into a string and back.  The problem is, I've managed to extract
a string but, I'm not sure if I'm not deallocating the objects I'm creating correctly.  Namely,
when I call axiom_xml_writer_create_for_memory, should I call axiom_xml_writer_free?

I'm highly confused by all of this.  Anyone can give me a hand?  Recent examples I've been
reading up on don't seem to offer a lot of good insight.

Here's the code I'm currently using to take my Axis2/C Generated structures and convert them
into strings.

axis2_char_t *Output_XML( const axutil_env_t *env, axiom_node_t *root_node )
	axiom_output_t		*om_output;
	axiom_xml_writer_t	*xml_writer;

	xml_writer = axiom_xml_writer_create_for_memory( env, NULL, AXIS2_FALSE, AXIS2_FALSE, AXIS2_XML_PARSER_TYPE_BUFFER
	if ( xml_writer )
		om_output = axiom_output_create( env, xml_writer );
		if ( om_output )
			if ( axiom_node_serialize( root_node, env, om_output ) == AXIS2_SUCCESS)
				return (axis2_char_t *)axiom_xml_writer_get_xml( xml_writer, env );

	return NULL;

void serializeMyResponseObject( const axutil_env_t *env, adb_ResponseObj_t *msgResponse )
	axis2_char_t *buffer = NULL;
	axiom_node_t *root_node = NULL;

	root_node = adb_ResponseObj_serialize( msgResponse, env, NULL, NULL, AXIS2_TRUE, NULL, NULL

	buffer = Output_XML( env, root_node );

	printf("Group Response: \n%s\n", buffer);


To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message