cxf-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Daniel Kulp <dk...@apache.org>
Subject Re: org.apache.cxf.wsdl11.WSDLManagerImpl - ArrayIndexOutOfBoundsException during initialization
Date Tue, 28 Sep 2010 18:16:16 GMT

This definitely sounds like a very strange error.   I have NO idea why a stack 
trace would be empty.   Very bizzarre.   

In either case, I'd log that with the JAXB folks and see if they fix it.

Dan



On Tuesday 28 September 2010 9:00:59 am Dirk wrote:
> Hi Dan,
> 
> I went deeper into the code and did the remote debugging and found the
> place, where the ArrayIndexOutOfBounds occurs.
> Here the details (and the hope, that you can bring some light into it).
> 
> First of all, the place, where the exception appears.
> 
> It's at
>     *c**om.sun.xml.bind.v2.ContextFactory*
> in the createContext() at:
> 
>         Boolean xmlAccessorFactorySupport = getPropertyValue(properties,
> JAXBRIContext.XMLACCESSORFACTORY_SUPPORT,Boolean.class);
>         if(xmlAccessorFactorySupport==null){
>             xmlAccessorFactorySupport = false;
>            * Util.getClassLogger().*log(Level.FINE, "Property " +
> JAXBRIContext.XMLACCESSORFACTORY_SUPPORT + "is not active.  Using JAXB's
> implementation");
>         }
> 
> Inside the com.sun.xml.bind.Util.getClassLogger() the following is done:
> 
> public static Logger *getClassLogger*() {
>           try {
>   //            StackTraceElement[] trace =
> Thread.currentThread().getStackTrace();
>               StackTraceElement[] trace = new Exception().getStackTrace();
>               *return
> Logger.getLogger(trace[1].getClassName());                 <----------
> THIS IS THE PLACE, WHERE IT HAPPENS*
>           } catch( SecurityException _ ) {
>               return Logger.getLogger("com.sun.xml.bind"); // use the
> default
>           }
>       }
> 
> So it looks like the JDK I'm using does not fill the StackTrace
> correctly or we are running into thread-problems (may be, because it is
> during the deployment process).
> 
> The questions I have:
> 1) Is it the normal behaviour, that the
> JAXBRIContext.XMLACCESSORFACTORY_SUPPORT  is not active and we come to
> this point?
> 2) Do you agree, the getClassLogger() should be implemented more fail
> safe, so the all exceptions (not just the SecurityException) should be
> caught?
> 
> What do you think?
> 
> Thanks in advance,
> Dirk
> 
> Daniel Kulp schrieb:
> > Honestly, I have no idea what could cause this.   Looking at the code in
> > addExtensions, there isn't any place that we would be using a "1" for an
> > index.   Thus, it must be occuring inside one of the other methods that
> > it is calling.  Without a full stack trace from where the Exception was
> > originally thrown, I'm not sure how to approach this.
> > 
> > Can you grab the source jar for CXF and possibly remote debug into it and
> > trace into the methods?   That may at least help narrow things down.
> > 
> > Dan
> > 
> > On Friday 24 September 2010 12:15:40 pm Dirk wrote:
> >> Hi Dan,
> >> 
> >> thanks for your reply. I found out, that the problem occurs during
> >> JAXBExtensionHelper.addExtensions(registry, parentType, elementType);
> >> 
> >>     for the following values:
> >>     elementType = org.apache.cxf.ws.addressing.wsdl.UsingAddressing  and
> >>     parentType = javax.wsdl.Binding
> >> 
> >> I also did the following to make sure it's nothing special in my
> >> implementation.
> >> 
> >> 1) Download the latest samples and deployed the helloworld.war out of
> >> wsdl_first_xmlbeans-sample
> >> ===> same problem
> >> 
> >> 2) Packaged the war into an ear as described here
> >> http://cxf.apache.org/docs/application-server-specific-configuration-gui
> >> de.
> >> html#ApplicationServerSpecificConfigurationGuide-Packwarinanear%252Cdep
> >> loyt heearwithweblogicapplication.xml ===> same problem
> >> 
> >> The war works on a BEA 9.2 on Windows but not on the unix (HP/UX) where
> >> it's supposed to be deployed to.
> >> 
> >> Here are some more details you may need to know:
> >> 
> >> java.vm.specification.vendor=Sun Microsystems Inc.
> >> java.runtime.version=1.5.0.08-_04_may_2007_06_31
> >> java.version=1.5.0.08
> >> java.endorsed.dirs=/testdata/wls_domains_920/lib/endorsed
> >> sun.boot.class.path=/testdata/wls_domains_920/lib/*endorsed/geronimo-ws-
> >> **m
> >> etadata_2.0_spec-1.1.1.jar*:/testdata/wls_domains_920/lib/*endorsed/js.
> >> **ja
> >> r*:/opt/java1.5/jre/lib/rt.jar:/opt/java1.5/jre/lib/i18n.jar:/opt/java1
> >> .5/j
> >> re/lib/sunrsasign.jar:/opt/java1.5/jre/lib/jsse.jar:/opt/java1.5/jre/li
> >> b/jc e.jar:/opt/java1.5/jre/lib/charsets.jar:/opt/java1.5/jre/classes
> >> java.class.path=:/data/bea923/patch_weblogic923/profiles/default/sys_ma
> >> nif
> >> est_classpath/weblogic_patch.jar:/opt/java1.5/lib/tools.jar:/data/bea92
> >> 3/we
> >> blogic92/server/lib/weblogic_sp.jar:/data/bea923/weblogic92/server/lib/
> >> webl
> >> ogic.jar:/data/bea923/weblogic92/server/lib/*webservices.jar*::/data/be
> >> a923
> >> /weblogic92/common/eval/pointbase/lib/pbclient51.jar:/data/bea923/weblo
> >> gic9 2/server/lib/xqrl.jar::
> >> 
> >> 
> >> And here's the stacktrace which actually does'nt give you more
> >> informations:
> >> 
> >> weblogic.application.ModuleException: [HTTP:101216]Servlet: "cxf" failed
> >> to preload on startup in Web application: "/helloworld".
> >> java.lang.RuntimeException:
> >> org.springframework.beans.factory.BeanCreationException: Error creating
> >> bean with name 'org.apache.cxf.wsdl.WSDLManager' defined in URL
> >> [zip:/data/wls_domains_920/Prov_EW2/servers/AdminServer/tmp/_WL_user/hel
> >> low orld/bexav1/war/WEB-INF/lib/cxf-2.2.10.jar!/META-INF/cxf/cxf.fixml]:
> >> Instantiation of bean failed; nested exception is
> >> org.springframework.beans.BeanInstantiationException: Could not
> >> instantiate bean class [org.apache.cxf.wsdl11.WSDLManagerImpl]:
> >> Constructor threw exception; nested exception is
> >> java.lang.ArrayIndexOutOfBoundsException: 1
> >> Caused by: org.springframework.beans.factory.BeanCreationException:
> >> Error creating bean with name 'org.apache.cxf.wsdl.WSDLManager' defined
> >> in URL
> >> [zip:/data/wls_domains_920/Prov_EW2/servers/AdminServer/tmp/_WL_user/hel
> >> low orld/bexav1/war/WEB-INF/lib/cxf-2.2.10.jar!/META-INF/cxf/cxf.fixml]:
> >> Instantiation of bean failed; nested exception is
> >> org.springframework.beans.BeanInstantiationException: Could not
> >> instantiate bean class [org.apache.cxf.wsdl11.WSDLManagerImpl]:
> >> Constructor threw exception; nested exception is
> >> java.lang.ArrayIndexOutOfBoundsException: 1
> >> Caused by: org.springframework.beans.BeanInstantiationException: Could
> >> not instantiate bean class [org.apache.cxf.wsdl11.WSDLManagerImpl]:
> >> Constructor threw exception; nested exception is
> >> java.lang.ArrayIndexOutOfBoundsException: 1
> >> Caused by: java.lang.ArrayIndexOutOfBoundsException: 1
> >> java.lang.ArrayIndexOutOfBoundsException: 1
> >> 
> >> Thanks in advance,
> >> Dirk
> >> 
> >> Daniel Kulp schrieb:
> >>> Is there a full stack trace for it?   In particular a line number.
> >>> 
> >>> Dan
> >>> 
> >>> On Thursday 23 September 2010 10:31:57 am Dirk wrote:
> >>>> Hi,
> >>>> 
> >>>> I have created a war file which could be deployed successfully on a
> >>>> BEA Weblogic 9.2. on Windows.
> >>>> 
> >>>> Trying to deploy and start the same war on a Unix environment failes
> >>>> with a ArrayIndexOutOfBoundsException during initialization of
> >>>> WSDLManagerImpl like this:/
> >>>> /
> >>>> 
> >>>> /Context initialization failed //
> >>>> org.springframework.beans.factory.BeanCreationException: Error
> >>>> creating bean with name 'org.apache.cxf.wsdl.WSDLManager' defined in
> >>>> class path resource [META-INF/cxf/cxf.xml]: Instantiation of bean
> >>>> failed; nested exception is
> >>>> org.springframework.beans.BeanInstantiationException: Could not
> >>>> instantiate bean class [org.apache.cxf.wsdl11.WSDLManagerImpl]:
> >>>> Constructor threw exception; nested exception is
> >>>> java.lang.ArrayIndexOutOfBoundsException: 1
> >>>> Caused by: org.springframework.beans.BeanInstantiationException:
> >>>> *Could not instantiate bean class
> >>>> [org.apache.cxf.wsdl11.WSDLManagerImpl]: Constructor threw exception;
> >>>> nested exception is
> >>>> java.lang.ArrayIndexOutOfBoundsException: 1*/
> >>>> 
> >>>> Any idea?
> >>>> 
> >>>> Cheers,
> >>>> Dirk

-- 
Daniel Kulp
dkulp@apache.org
http://dankulp.com/blog

Mime
View raw message