If anybody has this error in the future running Axis from a command line application packaged as a Jar, the problem is caused by an incorrectly defined class path in MANIFEST.MF and/or INDEX.LST (evil). See http://closingbraces.net/2007/05/13/jarclasspathandindex/ for an explanation.

Huge thanks to Davanum for helping me out with this one.

Jakub

Jakub Korab wrote:
The error message is in the last part:

java.lang.ExceptionInInitializerError
  at org.apache.axis2.util.XMLUtils.toOM(XMLUtils.java:555)
at org.apache.axis2.deployment.DescriptionBuilder.buildOM(DescriptionBuilder.java:93) at org.apache.axis2.deployment.AxisConfigBuilder.populateConfig(AxisConfigBuilder.java:76) at org.apache.axis2.deployment.DeploymentEngine.populateAxisConfiguration(DeploymentEngine.java:640) at org.apache.axis2.deployment.FileSystemConfigurator.getAxisConfiguration(FileSystemConfigurator.java:105) at org.apache.axis2.context.ConfigurationContextFactory.createConfigurationContext(ConfigurationContextFactory.java:60) at org.apache.axis2.context.ConfigurationContextFactory.createConfigurationContextFromFileSystem(ConfigurationContextFactory.java:174) at org.apache.axis2.client.ServiceClient.initializeTransports(ServiceClient.java:211) at org.apache.axis2.client.ServiceClient.configureServiceClient(ServiceClient.java:138)
  at org.apache.axis2.client.ServiceClient.<init>(ServiceClient.java:133)
at <my package>.ConveyancerServiceStub.<init>(ConveyancerServiceStub.java:61) at <my package>.ConveyancerServiceStub.<init>(ConveyancerServiceStub.java:88) at <my package>.ConveyancerServiceImpl.<init>(ConveyancerServiceImpl.java:42) 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.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:82) at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:78) at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:156) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:548) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:352) at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:240) at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:132) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:237) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:153) at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:225) at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:114) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:801) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:592) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:392) at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:240) at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:132) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:237) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:157)
  at CGTransformer.main(CGTransformer.java:81)
Caused by: java.lang.IllegalStateException: No valid ObjectCreator found.
  at org.apache.axiom.om.util.StAXUtils$Pool.<init>(StAXUtils.java:44)
  at org.apache.axiom.om.util.StAXUtils.<clinit>(StAXUtils.java:68)
  ... 36 more

I have tried this using JDK 1.4.2_10 and 1.5.0_07 and get the same problem (the target environment is 1.4.2). I have re-posted the above in a Jira issue. Cheers,

Jakub

Davanum Srinivas wrote:
Which JDK version? also, please post the whole stack trace. If you can
create a JIRA that would be even better. You have both stax and wstx
jars, so you should be all set. but you are running into weird
classloader issues somehow.

thanks,
dims

On 6/26/07, Jakub Korab <[EMAIL PROTECTED]> wrote:
Hi,

Since I haven't heard anything, I thought I might send an update. I
reduced the jars I have in this application to a minimum set:

XmlSchema-1.3.1.jar
annogen-0.1.0.jar
axiom-api-1.2.4.jar
axiom-impl-1.2.4.jar
axis2-adb-1.2.jar
axis2-java2wsdl-1.2.jar
axis2-kernel-1.2.jar
backport-util-concurrent-2.2.jar
commons-codec-1.3.jar
commons-httpclient-3.0.1.jar
commons-logging-1.1.jar
neethi-2.0.1.jar
stax-api-1.0.1.jar
wsdl4j-1.6.2.jar
wstx-asl-3.2.1.jar
activation.jar
mail.jar
commons-cli-1.0.jar
commons-dbcp.jar
commons-lang.jar
commons-pool.jar
ifxjdbc.jar
ifxjdbc-g.jar
ifxjdbcx.jar
ifxjdbcx-g.jar
ifxlang.jar
ifxlsupp.jar
ifxsqlj-g.jar
ifxsqlj.jar
ifxtools-g.jar
ifxtools.jar
jdom.jar
log4j.jar
mysql-connector-java-3.1.10-bin.jar
spring-beans.jar
spring-core.jar
spring-dao.jar
spring-jdbc.jar
xalan-2.7.0.jar
xercesImpl-2.8.1.jar
xml-apis-1.3.03.jar

(The ifx* jars are all Informix)

The classpath in my Eclipse Java source project is defined in the order
above. I run my main class through Eclipse and everything works.

I compile the application into an executable jar, with the main class
defined in MANIFEST.MF. When I run the application from the command line
using "java -classpath" with all of the jars defined in the same order,
I get the "No valid ObjectCreator found" exception being thrown.

I set up a Java project in Eclipse with only the compiled jars. When I
set up a classpath with the jars in an identical manner to my source
project, and run the executable jar, I get the very same error.

The only previous thread that mentions this error message had to do with
the Stax implementation not being picked up. I replaced wstx-asl.jar
with a couple of other implementations, repeating the steps above, but
with no luck.

Would anyone like to have a guess at the cause, or make a suggestion as
to what I might do from here? Thanks,

Jakub

Jakub Korab wrote:
> Hi,
>
> I am having a problem running an Axis2 client application from the
> command line. The app works correctly when run through Eclipse, but
> not directly when packaged as a jar and run directly. Here is the
> error message:
>
> java.lang.IllegalStateException: No valid ObjectCreator found.
>        at
> org.apache.axiom.om.util.StAXUtils$Pool.<init>(StAXUtils.java:44)
> at org.apache.axiom.om.util.StAXUtils.<clinit>(StAXUtils.java:68)
>
> It looks like it might be a classloader problem, like one of the jars
> is conflicting with another dependency, but I can't see off hand what
> that might be. The jar is deployed along with all of the jars in the
> Axis2 1.2 distribution, JDOM 1.0 (xml-apis.jar, jdom.jar), and a
> subset of Spring 2 (spring-core.jar, spring-beans.jar,
> spring-jdbc.jar, spring-dao.jar). Any help would be greatly
> appreciated. Cheers,
>
> Jakub
>


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]








---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to