Return-Path: Delivered-To: apmail-xml-axis-dev-archive@xml.apache.org Received: (qmail 21506 invoked by uid 500); 26 Jun 2002 17:04:39 -0000 Mailing-List: contact axis-dev-help@xml.apache.org; run by ezmlm Precedence: bulk Reply-To: axis-dev@xml.apache.org list-help: list-unsubscribe: list-post: Delivered-To: mailing list axis-dev@xml.apache.org Received: (qmail 21457 invoked from network); 26 Jun 2002 17:04:37 -0000 X-Authentication-Warning: costinm.sfo.covalent.net: costin owned process doing -bs Date: Wed, 26 Jun 2002 10:03:46 -0700 (PDT) From: costinm@covalent.net X-X-Sender: costin@costinm.sfo.covalent.net To: axis-dev@xml.apache.org Subject: HashMap/Hashtable, nil/null and timing. Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII X-Spam-Rating: 209.66.108.5 1.6.2 0/1000/N I have 3 problems. First, I noticed that apache-soap is sometimes using 'null' while axis is using 'nil'. I have no idea why this happens - but it affects the interoperability ( i.e. can't make calls from apache-soap to axis ). I have a simple patch that would accept null - let me know if I can send it. Second problem: it seems apache-soap uses Hashtable while Axis is using HashMap ( for soap map ). That creates pretty serious problems in migrating from a-soap to axis, as all the code will have to be changed. There are 3 (possible) solutions I found: - change the bean introspector to see if the attribute is Hashtable I couldn't understand the code, so I can't do that. - add some HastableSerializer/Deserializer, duplicating the MapS/D code, then some configuration ( is it possible to replace the encoders for standard types ? ) - use a system property ( or setting ) in MapS/D in one line, the one creating a HashMap. Since Hashtable implements Map, there is no other change needed. That's what I did to get my code working, and I can provide a patch using System property ( if someone who understand the axis config could implement this - it would be great ). Finally, I would like to add few lines of code and a Log to display the time - how much does it take to do Call.invoke(), the time spend in doPost() and few other important counters. This will be controled by a special Log channel, and do nothing if the time log is not set to debug. Again, I can provide a patch if you want it. Costin