On Sat, 2005-07-23 at 05:12 -0400, Davanum Srinivas wrote: > can you set this in your server-config.wsdd?
That didn't help, however after taking a deeper look at the problem, I think I now see what's broken. Setup: Axis client receives a message with a signed xsd:any element. The same client takes the signed element and sends it out to another server using xsd:any. The signatures are broken. Observed behavior: o During parsing of the first message, SAX events are stored in the recorder, and MessageElement objects are created. The insertion of the new MessageElements are setting _isDirty, and thus invalidating the recorder for serialization. It seems to me that it doesn't make sense to dirty the recorder during recording itself. o During creation of the MessageElements, some text nodes with newlines are lost. Assuming the recorder isn't invalidated, is it ok that the DOM face of MessageElements does not match what is in the recorder? In other words, is it ok that someone is throwing away the newline text nodes in the belief that the recorder will do the right thing during serialization? o The recorder has all of the text nodes. I am assuming that signatures could be made to work by either not dirtying the recorder or by not throwing away newline text nodes, however both seems like serious problems to me. NodeImpl.java has seen a bunch of activity in May. Backing out the last 4 commits restores the signatures, although I didn't try reapplying them one at a time. For reference: revision 1.16 date: 2005/06/20 22:50:52; author: dims; state: Exp; lines: +2 -0 Fix for AXIS-2068 - Missing setDirty flags in SAAJ tree modification (detachNode and setParent) from David Blevins ---------------------------- revision 1.15 date: 2005/06/09 16:36:27; author: venkat; state: Exp; lines: +3 -0 Fix for AXIS-1960: - Added a new test case for TestSOAPBody.java to test for this bug. - added a call to setDirty(true) inside a few methods in NodeImpl - added setDirty(false) in getAsString() to fix ant all-tests errors. ---------------------------- revision 1.14 date: 2005/05/27 10:20:12; author: venkat; state: Exp; lines: +1 -6 seems my last commit didnt make it to server. So repeating it again. Removing the call setDirty(true) fix the DOM serialization failures in ant all-t ests. Ideally, dirty flag should not cause serialization differences. But for no w, i have to remove this to fix some of the ant all-tests failures. ---------------------------- revision 1.13 date: 2005/05/24 03:55:24; author: venkat; state: Exp; lines: +6 -1 Fix for the bug (try#2) : AXIS-1960 - SOAPPart.saveChanges() doesn't work. SOAPPart.writeTo(array) is put back again. call to setDirty(true) is added at required places in NodeImpl.
