Uploaded image for project: 'Axis2-C'
  1. Axis2-C
  2. AXIS2C-1356

Text longer than 128K silently discarded with guththila parser

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 1.5.0
    • 1.7.0
    • guththila
    • None
    • Linux, Apache, Axis2 C service

    Description

      I created a services in C/C++ under Linux using the Axis2/c framework.

      The service have one function which takes one string parameter. I run the service using the Apache axis module.

      The soap xml message is similar to the following (checked with tcpmon):

      <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
      <s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
      <Receive xmlns="http://vww.obscuredforprivacy.xxx/axis2/services/Begin">
      <updategram>long text string</updategram>
      </Receive>
      </s:Body>
      </s:Envelope>

      If the long text string in the <updategram> element is longer than 128K, in the call to the main serivice procedure (the one assigned to axis2_svc_skeleton_ops::invoke and called by the axis2 engine), the node parameter (third parameter of type axiom_node_t *) have the following structure:

      <Receive><updategram></updategram></Receive>

      that is the <updategram> is empty. There is no error in any log. The <updategram> is discarded.

      This happen only if the axis2c framework is configured with the default options. That is, the guththila parser is used (it is on by default). If I configure axis2 with the --enable-libxml2, everything is working fine.

      So it seem to be a limit in the guththila parser.

      Grretings

      Attachments

        Activity

          People

            shankar Selvaratnam Uthaiyashankar
            benem@mclink.it Emanuele Benedetti
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: