axis-c-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Thomas Gentsch ...@e-tge.de>
Subject Re: XML reader/writer buffer size problem?
Date Thu, 27 Jan 2011 17:43:19 GMT

Hi Damitha,

if you refer to AXIS2C-448 - I have that in.

Besides of that I haven't found anything :-| (searching for
axiom_xml_reader or axiom_xml_writer)
I'll dig more but into it but of course I could save that effort of
somebody else had an idea :-)

Also, might be interesting to run that against 1.7 ...

Rgds + thx,
  tge

On Thu, 2011-01-27 at 22:26 +0530, Damitha Kumarage wrote:
> Hi Thomas,
> I remember similar problem appeared in a previous thread. Could you 
> please search in mail archives?
> 
> Thanks,
> Damitha
> Thomas Gentsch wrote:
> > Just opened AXIS2C-1534 and attached the test progs + data.
> > Any help is appreciated!!
> > Rgds,
> >   tge
> >
> > On Thu, 2011-01-27 at 13:16 +0100, Thomas Gentsch wrote:
> >   
> >> Minor correction in the code below (I merged two functions) ...
> >>
> >> On Thu, 2011-01-27 at 13:03 +0100, Thomas Gentsch wrote:
> >>     
> >>> 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:
> >>> ===========
> >>> AxiomHelper::toAxiomNode()
> >>> {
> >>> ...
> >>> axiom_xml_reader_t * reader =
> >>> axiom_xml_reader_create_for_memory(
> >>>   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);
> >>>       
> >> The code above is function1 and returns "document".
> >> Below is function2 dealing with that document.
> >>
> >>     
> >>> 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,
> >>>   NULL, AXIS2_TRUE, 0, AXIS2_XML_PARSER_TYPE_BUFFER);
> >>> 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
> >>> characters.
> >>> 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!!!
> >>>   tge
> >>>
> >>>       
> >>
> >> ---------------------------------------------------------------------
> >> To unsubscribe, e-mail: c-user-unsubscribe@axis.apache.org
> >> For additional commands, e-mail: c-user-help@axis.apache.org
> >>
> >>     
> >
> >
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: c-user-unsubscribe@axis.apache.org
> > For additional commands, e-mail: c-user-help@axis.apache.org
> >
> >
> >   
> 
> 




---------------------------------------------------------------------
To unsubscribe, e-mail: c-user-unsubscribe@axis.apache.org
For additional commands, e-mail: c-user-help@axis.apache.org


Mime
View raw message