No. The Castor jars are on the system CLASSPATH. That way, I can use them when I need to invoke castor seperately, AND from the server.

Bob


On Wed, 22 Sep 2004 22:08:06 -0400 Jim Murphy <[EMAIL PROTECTED]> wrote:
I have a silly question: are the castor jars in your webapp/s classpath? /WEB-INF/lib

Jim Murphy
Mindreef, Inc.


Robert Bateman wrote:

I'm starting to pull what little hair is left out with this one. If anyone has a spare moment and can look at this, I would greatly appreciaty it!

I'm creating a web service to process a SOAP message to Register New Users. The SOAP message is a document that will be processed via Castor code. My WSDL appears to be correct and I've followed the example over at www.ibm.com...

I'm getting the following exception:

org.apache.axis.ConfigurationException: org.apache.axis.deployment.wsdd.WSDDException: javax.xml.rpc.JAXRPCException: Null serializer factory specified.
javax.xml.rpc.JAXRPCException: Null serializer factory specified.
at org.apache.axis.encoding.TypeMappingImpl.register(TypeMappingImpl.java:220)
at org.apache.axis.deployment.wsdd.WSDDService.deployTypeMapping(WSDDService.java:546)
<snip all the standard stuff...>


Attempting to debug the source of this, I pulled the CVS tree on monday and added some diagnostics to the code. My (partial) trace of the code shows the following: (please note, I loaded Tomcat with -verbose:class in order to see class loads as well... My DEBUG messages start with ###)

[Loaded javax.wsdl.OperationType]
[Loaded org.apache.axis.description.ParameterDesc]
[Loaded org.apache.axis.deployment.wsdd.WSDDParameter]
### Serializer name is org.apache.axis.encoding.ser.castor.CastorSerializerFactory at WSDDService.java line 527.
### DeSerializer name is org.apache.axis.encoding.ser.castor.CastorDeserializerFactory at WSDDService.java line 527.
### Attempting to create the Serializer factory at WSDDService.java line 529.
### Inside ClassUtils.forName( string ).
### Calling loadClass(org.apache.axis.encoding.ser.castor.CastorSerializerFactory)
###Located ClassLoader is 'null' at ClassUtils.java line 168.
### Inside ClassNotFoundException of ClassUtils.loadClass(String) loading org.apache.axis.encoding.ser.castor.CastorSerializerFactory at ClassUtils.java line 170.
[Loaded org.apache.axis.encoding.ser.castor.CastorSerializerFactory]
### Inside ClassUtils.forName( string ).
### Calling loadClass(com.sequoiallc.services.RegisterUser.MortgageCompanyType)
###Located ClassLoader is 'null' at ClassUtils.java line 168.
### Inside ClassNotFoundException of ClassUtils.loadClass(String) loading com.sequoiallc.services.RegisterUser.MortgageCompanyType at ClassUtils.java line 170.
[Loaded com.sequoiallc.services.RegisterUser.MortgageCompanyType]
[Loaded org.apache.axis.encoding.ser.castor.CastorSerializer]
### Attempting to create the Deserializer factory at WSDDService.java line 536.
### Inside ClassUtils.forName( string ).
### Calling loadClass(org.apache.axis.encoding.ser.castor.CastorDeserializerFactory)
###Located ClassLoader is 'null' at ClassUtils.java line 168.
### Inside ClassNotFoundException of ClassUtils.loadClass(String) loading org.apache.axis.encoding.ser.castor.CastorDeserializerFactory at ClassUtils.java line 170.
[Loaded org.apache.axis.encoding.ser.castor.CastorDeserializerFactory]
### Inside ClassUtils.forName( string ).
### Calling loadClass(com.sequoiallc.services.RegisterUser.MortgageCompanyType)
###Located ClassLoader is 'null' at ClassUtils.java line 168.
### Inside ClassNotFoundException of ClassUtils.loadClass(String) loading com.sequoiallc.services.RegisterUser.MortgageCompanyType at ClassUtils.java line 170.
[Loaded org.apache.axis.encoding.ser.castor.CastorDeserializer]
### SerializerFactory create returned null at WSDDService.java line 540.
### DeserializerFactory create returned null at WSDDService.java line 540.
### Inside ClassUtils.forName( string ).
### Calling loadClass(com.sequoiallc.services.RegisterUser.MortgageCompanyType)
###Located ClassLoader is 'null' at ClassUtils.java line 168.
### Inside ClassNotFoundException of ClassUtils.loadClass(String) loading com.sequoiallc.services.RegisterUser.MortgageCompanyType at ClassUtils.java line 170.
[Loaded org.apache.log4j.spi.ThrowableInformation]
[Loaded org.apache.log4j.spi.VectorWriter]
[Loaded org.apache.log4j.spi.NullWriter]


Notice the fifth "[Loaded" statement. It's loading my MortgageCompanyType class. But Axis 1.2Beta3 keeps calling for the same class until finally I get a NULL Serializer Factory error.

At this point, I'm at a complete loss as to *why* Tomcat loads my class but Axis appears to either insist that the class wasn't loaded, and reloads it, or is loading it multiple times.

I've attached my .wsdl and the system generated deploy.wsdd

Thanks much for your time!

Bob




Reply via email to