Return-Path: Mailing-List: contact soap-dev-help@xml.apache.org; run by ezmlm Delivered-To: mailing list soap-dev@xml.apache.org Received: (qmail 70644 invoked from network); 11 Jul 2000 18:54:54 -0000 Received: from cse.unl.edu (root@129.93.33.1) by locus.apache.org with SMTP; 11 Jul 2000 18:54:54 -0000 Received: from localhost (ochipara@localhost) by cse.unl.edu (8.9.1/8.9.1) with ESMTP id NAA13975724 for ; Tue, 11 Jul 2000 13:54:49 -0500 (CDT) Date: Tue, 11 Jul 2000 13:54:48 -0500 From: Octav Chipara To: soap-dev@xml.apache.org Subject: Re: Deserialization Problem In-Reply-To: <002701bfeb56$71f723c0$03000b0a@asusiip> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=X-UNKNOWN Content-Transfer-Encoding: QUOTED-PRINTABLE Hi Gerd, I was able to get over the deserialization problem as well. I have made my web service return a java class and it works fine in this way. However, I believe that what you have done is much better ... :-) Octav ***************************************************************************= *** e-mail: ochipara@cse.unl.edu phone:=09=09(402)472-9492 web page:=09www.cse.unl.edu/~ochipara ***************************************************************************= *** On Tue, 11 Jul 2000, Hovhannes Avoyan wrote: > I found the cause of the deserialization problem which seems a bug in Xer= ces > package. In the org.apache.xerces.dom.ElementImpl class there is a method > getAttributeNS(String namespaceURI, String localName) which should return > null if that attribute does not have a specified or default value. But in > some cases it returns "" instead of null (which is checked in the SOAP > package). There is another method getAttribute(String name) which should > return "" (NOT null) and it seems that the developer just copy the code > fragment from that method. Here is the getAttributeNS method so you can > judge by yourself: >=20 >=20 > /* @return String The Attr value as a string, or null > * if that attribute > * does not have a specified or default value. > * @since WD-DOM-Level-2-19990923 > */ > public String getAttributeNS(String namespaceURI, String localName) { >=20 > if (syncData()) { > synchronizeData(); > } >=20 > if (attributes =3D=3D null) { > return ""; // HERE IS THE CAUSE OF THE PROBLEM > } >=20 > Attr attr =3D (Attr)(attributes.getNamedItemNS(namespaceURI, > localName)); > return (attr =3D=3D null) ? null : attr.getValue(); // HERE IT RE= TURN > null - THIS IS CORRECT CODE >=20 > } // getAttributeNS(String,String):String >=20 >=20 >=20 > Hope that helps >=20 > Regards >=20 > Hovhannes Avoyan, CEO CEDIT > www.cedit.am >=20 >=20 >=20 > ----- Original Message ----- > From: Gerd Aschemann > To: > Cc: ; ; > ; > Sent: Tuesday, July 11, 2000 3:42 PM > Subject: Re: Deserialization Problem >=20 >=20 > > (Since you were asking on the Apache soap-dev/user lists I suppose you > > ran into this problem with the Apache xml-soap impl.) > > > > Octav Chipara wrote/schrieb: > > > I trying to make a web service using SOAP and Tomcat. I'm getting a > > > deserialization problem: No deserializer found to deserialize a > > > http://schemas.xmlsopa.org/soap/envelope/:Paramerter using style '' > > > > > > I know this is a well-known issue but I did not > > > find the archive for the mails posted on this list so I will ask you > for > > > some suggestions how I could go about and solve the problem. > > > > As someone else suggested, you will find the archives on > > > > > http://www.alphaworks.ibm.com/aw.nsf/discussion?ReadForm&/forum/soap4j.ns= f/d > iscussion?createdocument > > > > The problem is discussed there multiple times and seems to occur with > > Xerces 1.1.1 (and should be solved with newer releases of Xerces). > > The suggested solution is to use Xerces 1.0.3. However, I still > > encounter the problem with Xerces 1.1.2. Switching back to Xerces > > 1.0.3 I encounter a new problem: > > > > Exception in thread "main" java.lang.NoClassDefFoundError: > > org/apache/xerces/utils/Base64 > > at > org.apache.soap.encoding.soapenc.Base64Serializer.(Base64Serializer= =2Eja > va:18) > > at > org.apache.soap.encoding.SOAPMappingRegistry.(SOAPMappingRegistry.j= ava > :248) > > at org.apache.soap.rpc.Call.(Call.java:84) > > at org.apache.soap.rpc.Call.(Call.java:89) > > at samples.addressbook.GetAllListings.main(GetAllListings.java:= 91) > > > > Any ideas how to finally solve this issue? > > > > -- > > Gerd Aschemann --- Aschemann@Informatik.TU-Darmstadt.de > > Ver=F6ffentlichen hei=DFt Ver=E4ndern (Carmen Thomas) > > >=20