Return-Path: Delivered-To: apmail-ws-axis-dev-archive@www.apache.org Received: (qmail 2781 invoked from network); 27 Aug 2004 16:58:03 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur-2.apache.org with SMTP; 27 Aug 2004 16:58:03 -0000 Received: (qmail 93019 invoked by uid 500); 27 Aug 2004 16:57:42 -0000 Delivered-To: apmail-ws-axis-dev-archive@ws.apache.org Received: (qmail 92920 invoked by uid 500); 27 Aug 2004 16:57:41 -0000 Mailing-List: contact axis-dev-help@ws.apache.org; run by ezmlm Precedence: bulk Reply-To: axis-dev@ws.apache.org list-help: list-unsubscribe: list-post: Delivered-To: mailing list axis-dev@ws.apache.org Received: (qmail 92847 invoked by uid 99); 27 Aug 2004 16:57:41 -0000 X-ASF-Spam-Status: No, hits=0.0 required=10.0 tests=NO_REAL_NAME X-Spam-Check-By: apache.org Received: from [192.18.33.10] (HELO exchange.sun.com) (192.18.33.10) by apache.org (qpsmtpd/0.27.1) with SMTP; Fri, 27 Aug 2004 09:57:39 -0700 Received: (qmail 11540 invoked from network); 27 Aug 2004 16:59:20 -0000 Received: from localhost (HELO nagoya) (127.0.0.1) by nagoya.betaversion.org with SMTP; 27 Aug 2004 16:59:20 -0000 Message-ID: <1174728904.1093625960016.JavaMail.apache@nagoya> Date: Fri, 27 Aug 2004 09:59:20 -0700 (PDT) From: axis-dev@ws.apache.org To: axis-dev@ws.apache.org Subject: [jira] Commented: (AXIS-1534) Misleading and confusing "null serializer factory specified" message In-Reply-To: <932905160.1093625540049.JavaMail.apache@nagoya> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Virus-Checked: Checked X-Spam-Rating: minotaur-2.apache.org 1.6.2 0/1000/N The following comment has been added to this issue: Author: Niall Smart Created: Fri, 27 Aug 2004 9:58 AM Body: By the way, I could not run the unit tests -- the build system is too broken :( --------------------------------------------------------------------- View this comment: http://issues.apache.org/jira/browse/AXIS-1534?page=comments#action_37858 --------------------------------------------------------------------- View the issue: http://issues.apache.org/jira/browse/AXIS-1534 Here is an overview of the issue: --------------------------------------------------------------------- Key: AXIS-1534 Summary: Misleading and confusing "null serializer factory specified" message Type: Bug Status: Unassigned Priority: Major Project: Axis Components: Serialization/Deserialization Versions: 1.1 Assignee: Reporter: Niall Smart Created: Fri, 27 Aug 2004 9:52 AM Updated: Fri, 27 Aug 2004 9:58 AM Description: When a required class is not in Axis' CLASSPATH the deployment can fail with the useless and misleading error message: "null serializer factory specified". The stack trace gives no hint as to the root cause or missing class. In detail, the scenario is: 1) a beanMapping is specified for acme.SomeClass in the deploy WSDD. 2) acme.SomeClass references acme.OtherClass, however no beanMapping element is present for this (possibly because it is only used internally by acme.SomeClass). 3) acme.SomeClass is present in Axis' CLASSPATH 4) acme.OtherClass is not present in Axis' CLASSPATH. The sequence of events in the code is: 1) At some stage Axis calls Class.forName("acme.SomeClass") when it sees the the beanMapping to verify that acme.SomeClass is in the CLASSPATH. This will succeed and return a new Class object (see more detail below). 2) WSDDService.deployTypeMapping() calls BaseSerializerFactory.createFactory() [line 549] 3) BaseSerializerFactory.createFactory() instantiates a BeanSerializerFactory [line 257] 4) BeanSerializerFactory's constructor calls JavaUtils.isEnumClass() [line 81] 5) JavaUtils.isEnumClass() calls Class.getMethod() [line 985], at this point a NoClassDefFoundError is thrown by the JVM, because acme.OtherClass is not in the CLASSPATH. 6) BaseSerializerFactory catches and ignores the exception and returns null. 7) TypeMappingImpl.register() throws a exception because the serializer factory passed to it is null, this is the source of the "null serializer factory specified" message. The solution is that BaseSerializerFactory should not ignore exceptions. I am attaching a patch which causes IllegalAccessException, InstantiationException and InvocationTargetException to be propagated to the caller. It would be really nice to see this in Axis 1.2! It has been brought up on the mailing list several times. --------------------------------------------------------------------- JIRA INFORMATION: This message is automatically generated by JIRA. If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa If you want more information on JIRA, or have a bug to report see: http://www.atlassian.com/software/jira