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