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