You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-user@axis.apache.org by Robert Bateman <bo...@sequoiallc.com> on 2004/09/22 22:28:22 UTC

Desperately seeking another set of eyes... (long - sorry)

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

[solved] Desperately seeking another set of eyes... (long - sorry)

Posted by Robert Bateman <bo...@sequoiallc.com>.
It appears that my underlying problem has been solved - finally.

In my case, I've been attempting to deploy a web service by embedding Axis 
into my WAR for deployment as part of my web application.  Reading the 
documentation left me a bit confused.  Having asked numerous questions, and 
beating my head against the wall for several days, I'd like to offer some 
additional documentation for the Axis website.

for the install.html,

431,436c431,432
<  href="http://www.manning.com/hatcher/chap15.pdf">PDF file</a>.
< <p><span class="note">Note:</span> It is important to note that proper use
< of Axis requires every jar file that your service depends upon to be
< included in your WEB-INF/lib folder.  Forgetting even one jar can cause your
< application to fault with the message "Null serializer factory 
specified."</p>
< <a name="broken"></a>
---
>  href="http://www.manning.com/hatcher/chap15.pdf">PDF file</a>. <a
>  name="broken"></a>

This "patch" adds a small amount of hard earned knowlege.

THANKS to everyone for their time and help in solving this!

Bob



Re: Desperately seeking another set of eyes... (long - sorry)

Posted by Jason Etherton <je...@astro.livjm.ac.uk>.
Is there a system CLASSPATH, or your environment CLASSPATH?

If the latter then you must make sure that the user who runs the server 
also has a CLASSPATH, and that the castor jars are included there.

Bob Bateman wrote:

> 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 <jm...@mindreef.com> 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
>>
>>
>
>

RE: Desperately seeking another set of eyes... (long - sorry)

Posted by Marco Mistroni <mm...@waersystems.com>.
Can you post ur deploy.wsdd file, as well as your stubs?
If u don't wanna spam the list, mail me at mmistroni@waersystems.com
Regards
	marco

-----Original Message-----
From: Bob Bateman [mailto:bobbateman@sequoiallc.com] 
Sent: 23 September 2004 16:05
To: axis-user@ws.apache.org
Subject: Re: Desperately seeking another set of eyes... (long - sorry)

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 <jm...@mindreef.com> 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:2
20)
>> 	at 
>>
org.apache.axis.deployment.wsdd.WSDDService.deployTypeMapping(WSDDServic
e.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
> 


Re: Desperately seeking another set of eyes... (long - sorry)

Posted by Bob Bateman <bo...@sequoiallc.com>.
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 <jm...@mindreef.com> 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
> 


Re: Desperately seeking another set of eyes... (long - sorry)

Posted by Jim Murphy <jm...@mindreef.com>.
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