[WSS4J] Re: AW: WSDoAllReceiver/AxisUtil problem report

Davanum Srinivas <dims-/[email protected]> Wed, 11 Feb 2004 08:27:50 -0800 (PST)
Newsgroups gmane.text.xml.wss4j
Message-ID <[email protected]>
yep, i am a member of Axis team and yes, this has been applied to the main source tree.

--- Sashka <[email protected]> wrote:
> Dims, hi
> I'm using the axis 1.2(currently - alpha) version. If U'r a member of 
> an axis team so this change is upplied on general 1.2 version, that's 
> fine. But if that's just a change in the axis.jar supplied in your 
> lib/, that means I bound to this specific jar version; each Axis 
> upgrade will require to add this fix. From user's point of view, for 
> me it violates the projects interoperability strongly. In such a case -
>  could U add an non-default flag in your AxisUtil.updateSOAPMessage() 
> to run a workaround within it - with axis as is - by using ony one of 
> other Source classes - StreamSource or SAXSource, please?
> 
> Sincerely
> Sashka. 
> 
> 
> > Sashka,
> > 
> > Which version of axis are u using? Yes, i fixed
> > XMLUtils.sourceToInputSource() already. I will
> > check in an updated axis in wss4j/lib directory soon.
> > 
> > thanks,
> > dims
> > 
> > --- Sashka <[email protected]> wrote:
> > > Dims, hi
> > > Do you mean U'r going to fix it in the axis sources code - within 
> > > XMLUtils.sourceToInputSource()? - In this case wss4j loses the 
> > > compatibility with the axis, and the jar's order in the classpath 
> must 
> > > be restricted to wss4j before axis - that's not so convenient.
> > > 
> > > Sincerely
> > > Sashka
> > > 
> > > > i will fix axis code (PrettyElementToStream -> ElementToStream)
> > > > 
> > > > thanks,
> > > > dims
> > > > 
> > > > --- Dittmann Werner <[email protected]> wrote:
> > > > > Hi,
> > > > > 
> > > > > just checked in a modified version of WsDoAllReceiver that
> > > > > perform the same serialization as WsDoAllSender. According
> > > > > to my tests that could solve the problem. Pls check out.
> > > > > 
> > > > > Dims, Axis performs a "PrettyElementToStream" in the course
> > > > > of its serialization when it converts DOMSource to bytes.
> > > > > Refer to "sourceToInputSource(Source source)"
> > > > > in XMLUtils. Thus setting the flag in SOAPBody wouldn't help,
> > > > > wouldn't it?
> > > > > 
> > > > > Regards,
> > > > > Werner
> > > > > 
> > > > > > -----Ursprüngliche Nachricht-----
> > > > > > Von: wss4j-devel-admin-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org 
> > > > > > [mailto:wss4j-devel-admin-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org] Im Auftrag 
> > > > > > von Dittmann Werner
> > > > > > Gesendet: Dienstag, 10. Februar 2004 16:22
> > > > > > An: 'dims-/[email protected]'; 'Sashka'; wss4j-
> [email protected]
> > > > > > Betreff: [WSS4J] AW: AW: WSDoAllReceiver/AxisUtil problem 
> report
> > > > > > 
> > > > > > 
> > > > > > sorry, Dims. Don't have a current Axis tree 
> > > > > > on my system, need to set-up the environment,
> > > > > > will take a day or two.
> > > > > > 
> > > > > > Regards,
> > > > > > Werner
> > > > > > 
> > > > > > > -----Ursprüngliche Nachricht-----
> > > > > > > Von: Davanum Srinivas [mailto:dims-/[email protected]] 
> > > > > > > Gesendet: Dienstag, 10. Februar 2004 14:03
> > > > > > > An: Dittmann Werner; 'Sashka'; wss4j-
> > > [email protected]
> > > > > > > Betreff: Re: AW: WSDoAllReceiver/AxisUtil problem report
> > > > > > > 
> > > > > > > 
> > > > > > > Can one of you set disableFormatting to true in Axis' 
> > > > > > > SOAPBody.java (line 93) and see if that
> > > > > > > helps? if it does, i can add a global switch to disable 
> > > formatting.
> > > > > > > 
> > > > > > > thanks,
> > > > > > > dims
> > > > > > > 
> > > > > > > --- Dittmann Werner <[email protected]> wrote:
> > > > > > > > Sashka,
> > > > > > > > 
> > > > > > > > just to make sure: as I understand your report
> > > > > > > > the problem is soemwhere in class DOMSource?
> > > > > > > > 
> > > > > > > > Well, I checked this beast (contained in Axis
> > > > > > > > sources) and found that it does nothing to the
> > > > > > > > content at all, just stores the node an provides
> > > > > > > > a way to access the node.
> > > > > > > > 
> > > > > > > > That means, that the problem is somewhere in Axis
> > > > > > > > serialization as we just replace the nodes,
> > > > > > > > basically.
> > > > > > > > 
> > > > > > > > Dims, do you know of any problem there?
> > > > > > > > 
> > > > > > > > BTW, while implementing and testing the interop
> > > > > > > > scenarios I discovered a similar problem. That's
> > > > > > > > the reason why I do a String.trim() on the String
> > > > > > > > input parameter at the server side to get rid
> > > > > > > > of unwanted \n. Well, I didn't follow up that
> > > > > > > > problem then, but it seems that something is wrong
> > > > > > > > with Axis serialization when there is a new node.
> > > > > > > > 
> > > > > > > > Regards,
> > > > > > > > Werner
> > > > > > > > 
> > > > > > > > 
> > > > > > > > 
> > > > > > > > > -----Ursprüngliche Nachricht-----
> > > > > > > > > Von: Sashka [mailto:[email protected]] 
> > > > > > > > > Gesendet: Dienstag, 10. Februar 2004 12:38
> > > > > > > > > An: Dittmann Werner; Davanum Srinivas
> > > > > > > > > Betreff: WSDoAllReceiver/AxisUtil problem report
> > > > > > > > > 
> > > > > > > > > 
> > > > > > > > > Werner, Dims, hi.
> > > > > > > > > It seems there is a problem in the call to 
> > > > > > > > >  AxisUtil.updateSOAPMessage(doc, sm) in 
> WSDoAllReceiver - 
> > > the 
> > > > > > > > > document 
> > > > > > > > > is corrupted while the message is updated in this 
> point:
> > > > > > > > > ///---------------------
> > > > > > > > >     WSSecurityEngineResult wsResult = null;
> > > > > > > > >     try {
> > > > > > > > >         wsResult =
> > > > > > > > >                 secEngine.processSecurityHeader(
> > > > > > > > >                         doc,
> > > > > > > > >                         null,
> > > > > > > > >                         cbHandler,
> > > > > > > > >                         sigCrypto,
> > > > > > > > >                         decCrypto);
> > > > > > > > >     } catch (Exception ex) {
> > > > > > > > >         throw new AxisFault(
> > > > > > > > >                 "WSDoAllReceiver: security processing 
> > > failed",
> > > > > > > > >                 ex);
> > > > > > > > >     }
> > > > > > > > >     try {
> > > > > > > > >       AxisUtil.updateSOAPMessage(doc, sm); /// <<--- 
> Here
> > > > > > > > >     ...........
> > > > > > > > > ///-------------------------
> > > > > > > > > 
> > > > > > > > > Full description.
> > > > > > > > > ------------------
> > > > > > > > > I'm testing the WSS4J with a standard basic axis 
> sample:
> > > > > > > > > samples.addr. 
> > > > > > > > > On the call AddressBook.addEntry(String name, Address 
> > > > > > > addr) <executed 
> > > > > > > > > as rpc/encoded, for more exactness> I receive 
> unexpected 
> > > > > > > server-side 
> > > > > > > > > exception while Address object deserialization:
> > > > > > > > > //----- start of except. stack ------------
> > > > > > > > >     java.lang.NumberFormatException: For input string: 
> > > > > > '\n1 ' at 
> > > > > > > > >     java.lang.NumberFormatException.forInputString 
> > > > > > > > >                                
> > > > > > (NumberFormatException.java:48) at 
> > > > > > > > >     java.lang.Integer.parseInt(Integer.java:426) at 
> > > > > > > > >     java.lang.Integer.&lt;init&gt;(Integer.java:567) at
> > > > > > > > >     
> sun.reflect.NativeConstructorAccessorImpl.newInstance0
> > > > > > > > >                                      (Native Method) 
> at 
> > > > > > > > >     
> sun.reflect.NativeConstructorAccessorImpl.newInstance
> > > > > > > > >                        
> > > > > > (NativeConstructorAccessorImpl.java:39) at 
> > > > > > > > >     
> > > sun.reflect.DelegatingConstructorAccessorImpl.newInstance
> > > > > > > > >                        
> > > > > > > (DelegatingConstructorAccessorImpl.java:27) at 
> > > > > > > > >     
> > > > > > > > > 
> > > > > > > java.lang.reflect.Constructor.newInstance
> > > (Constructor.java:274) at 
> > > > > > > > >     
> > > org.apache.axis.encoding.ser.SimpleDeserializer.makeValue
> > > > > > > > >                        (SimpleDeserializer.java:284) 
> at 
> > > > > > > > >     
> > > org.apache.axis.encoding.ser.SimpleDeserializer.onEndElement
> > > > > > > > >                        (SimpleDeserializer.java:214) 
> at 
> > > > > > > > >     
> 
=== message truncated ===


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


-------------------------------------------------------
SF.Net is sponsored by: Speed Start Your Linux Apps Now.
Build and deploy apps & Web services for Linux with
a free DVD software kit from IBM. Click Now!
http://ads.osdn.com/?ad_id=1356&alloc_id=3438&op=click