You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by Davanum Srinivas <di...@yahoo.com> on 2004/11/19 02:04:22 UTC

Re: Followup from previous mail

forwarding to axis-dev@

--- Steve Green <st...@epok.net> wrote:

> Davanum,
> 
> I am reasonably sure that I've discovered another bug, but I am not
> confident enough in my understanding of this area so I'll hold off
> creating another bug report unless you advise otherwise.
> 
> The problem appears when trying to add elements to a SOAPEnvelope that
> has an existing event recorder.  The SOAPEnvelope gets set dirty, and
> thus outputImpl is called (rather than using the sax replay).  The
> problem is in SOAPEnvelope.outputImpl().  outputImpl has this code:
> 
>         // Output headers
>         if (header != null) {
>             header.outputImpl(context);
>         }
> 
>         // Output body
>         if (body != null) {
>             body.outputImpl(context);
>         }
> 
> The envelope is dirty, but the header and body are not necessarily
> dirty, yet outputImpl() is called on them and thus the sax recorder for
> the header and body is not given a chance.
> 
> Changing the above code to read "output(context)" fixes the problem.
> The real question is why that made any difference.
> 
> I'll give you a little info on what I am doing.  I am writing unit tests
> that take a soap message (as a string), create a SOAPEnvelope from it,
> and then perform digital signatures.  With digital signatures, all of
> the whitespace matters and I am seeing that some whitespace is getting
> lost in the process.  The process involves going from "Axis DOM" to
> xerces DOM, and back again.  I am going to investigate further.
> 
> -- 
> Steve Green <st...@epok.net>
> 
> 


=====
Davanum Srinivas - http://webservices.apache.org/~dims/


		
__________________________________ 
Do you Yahoo!? 
Meet the all-new My Yahoo! - Try it today! 
http://my.yahoo.com