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