axis-c-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Thomas Gentsch>
Subject XML reader/writer buffer size problem?
Date Thu, 27 Jan 2011 12:03:23 GMT
Hi all,

I'm still with Axis2c 1.6 and have a problem (de)serializing an XML
string. Is there anything know about such a problem (haven't found
anything in Jira)?

The essential piece is a string buffer containing an XML structure,
which is created from a Tuscany SDO. Then that string buffer gets
converted to an Axiom Node (using the Tuscany AxiomHelper) to be
returned to the calling Axis2c client. Normally this works nicely, but
if the XML is very long (in my example 484460 bytes), it gets truncated.

I can see the string buffer "str" (below) as still intact. Then,
essentially the following happens:
axiom_xml_reader_t * reader =
  the_env, (void*)str, strlen(str),
  (const axis2_char_t *)"UTF-8", AXIS2_XML_PARSER_TYPE_BUFFER);
axiom_stax_builder_t* builder =
  axiom_stax_builder_create(the_env, reader);
axiom_document_t* document =
  axiom_stax_builder_get_document(builder, the_env);
axiom_node_t* root_node =
  axiom_document_get_root_element(document, the_env);
axiom_document_build_all(document, the_env);
axiom_node_t* root_node =
  axiom_document_get_root_element(doc, the_env);
return  root_node;

Now I have the Axiom node "n" and dump it (just for testing):

axiom_xml_writer_t * w = axiom_xml_writer_create_for_memory(env,
axiom_output_t * om_output = axiom_output_create(env, w);
axiom_node_serialize(n, env, om_output);
axis2_char_t * buf = (axis2_char_t *) axiom_xml_writer_get_xml(w, env);

fprintf(f, "\nData: '%s'\n", buf);

and the output is truncated to 17253 bytes ending with some control
As said, that code has been working for months/years now w/o any
problems, so I believe that it is OK in general and I rather suspect the
Axis2c XML handling in conjunction with large buffers ...

I'll extract the pieces into a standalone testprog for easier
troubleshooting - but still: Any ideas?

Many thx!!!

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

View raw message