You are viewing a plain text version of this content. The canonical link for it is here.
Posted to soap-user@ws.apache.org by Chris Malley <cm...@pixelzoom.com> on 2001/11/17 05:24:45 UTC

Tomcat 4.01 & SOAP 2.2 message-style services

I'm been using Apache SOAP 2.2 with Tomcat 3.2.3.
I recently upgraded to Tomcat 4.0.1 and my SOAP 
message-style services have stopped working.  RPC-style
services still work fine, so I'm confident that I'm
installing my jar files in the correct place (ie,
$CATALINA_HOME/lib).

Has anyone else experienced this, know what the problem
might be?  

Attached is the SOAP fault message that I'm receiving, which 
indicates "no signature match" for my service method.
I also have a simple example that demonstrates the problem,
if that would help.  It's a service that echos whatever is
sent to it.  The service method has this signature:

 public void echo( Envelope env, SOAPContext req, SOAPContext res )
    throws IOException, MessagingException;

System & software info:
  Linux 2.2.12-20 kernel
  JDK 1.3.1_01
  Tomcat 3.2.3 and 4.0.1
  Apache SOAP 2.2
  IBM XML4J 3.2.1
  Java Activation Framework 1.0.1
  Java Mail 1.2

And since SOAP 2.2 doc doesn't include installation instructions 
for Tomcat 4, I followed the instructions for Tomcat 3.2.

Thanks,

-Chris

--
<?xml version='1.0' encoding='UTF-8'?>
<SOAP-ENV:Envelope
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance" xmlns:xsd="
http://www.w3.org/1999/XMLSchema">
<SOAP-ENV:Body>
<SOAP-ENV:Fault>
<faultcode>SOAP-ENV:Server</faultcode>
<faultstring>Exception while handling service request:
echomsg.Server.echo(org.apache.soap.Envelope,org.apache.soap.rpc.SOAPContext,org.apache.soap.rpc.SOAPContext)
-- no signature match</faultstring>
<faultactor>/soap/servlet/messagerouter</faultactor>
<detail>
<stackTrace>java.lang.NoSuchMethodException:
echomsg.Server.echo(org.apache.soap.Envelope,org.apache.soap.rpc.SOAPContext,org.apache.soap.rpc.SOAPContext)
-- no signature match
        at
org.apache.soap.util.MethodUtils.getEntryPoint(MethodUtils.java:194)
        at
org.apache.soap.util.MethodUtils.getMethod(MethodUtils.java:548)
        at
org.apache.soap.util.MethodUtils.getMethod(MethodUtils.java:528)
        at
org.apache.soap.server.MessageRouter.invoke(MessageRouter.java:54)
        at
org.apache.soap.providers.MsgJavaProvider.invoke(MsgJavaProvider.java:125)
        at
org.apache.soap.server.http.MessageRouterServlet.doPost(MessageRouterServlet.java:268)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
        at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
        at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
        at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:243)
        at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
        at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
        at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
        at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:201)
        at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
        at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
        at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
        at
org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2344)
        at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164)
        at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
        at
org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:170)
        at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
        at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:170)
        at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
        at
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:462)
        at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
        at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
        at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
        at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:163)
        at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
        at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
        at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
        at
org.apache.catalina.connector.http.HttpProcessor.process(HttpProcessor.java:1011)
        at
org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java:1106)
        at java.lang.Thread.run(Thread.java:484)
</stackTrace>
</detail>
</SOAP-ENV:Fault>

</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
--

Re: Tomcat 4.01 & SOAP 2.2 message-style services

Posted by C Santosh Kumar <cs...@ebizportals.com>.
hi chris
Are you sure this problem is only with the message style services ?

and have a look at
http://localhost:8080/tomcat-docs/class-loader-howto.html
It says:
from the perspective of a web application, class or resource loading looks
in the following repositories, in this order:

  a.. /WEB-INF/classes of your web application
  b.. /WEB-INF/lib/*.jar of your web application
  c.. Bootstrap classes of your JVM
  d.. System class loader classses (described above)
  e.. $CATALINA_HOME/common/classes
  f.. $CATALINA_HOME/common/*.jar
  g.. $CATALINA_HOME/classes
  h.. $CATALINA_HOME/lib/*.jar

So according to this, just plain soap.war should work fine. dont know why it
is not
working.
chris, can u ask this query to craig in tomcat user mailing list ? This is a
classloader
problem, more to do with tomcat than soap.

Santosh.


----- Original Message -----
From: "Chris Malley" <cm...@pixelzoom.com>
To: <so...@xml.apache.org>
Sent: Monday, November 19, 2001 11:38 PM
Subject: Re: Tomcat 4.01 & SOAP 2.2 message-style services


> C Santosh Kumar wrote:
> >
> > so thats it.
> > soap.war has expanded soap.jar,
> > as org/apache/soap in WEB-INF classes.
> > So do not include soap.jar anymore
> > in the lib directory. or remove
> > that org directory.
> >
> > hope that helps.
>
> Thanks, that did help.
>
> Removing lib/soap.jar doesn't work.  Despite setting my
> classpath to $CATALINA_HOME/webapps/soap/WEB-INF/classes,
> I get this SOAP fault:
> java.lang.NoClassDefFoundError: org/apache/soap/Envelope
>
> Removing webapp/soap.war and webapps/soap/ doesn't
> work, because then the SOAP servlet isn't loaded and
> Tomcat doesn't know what to do with the SOAP messages.
>
> Removing webapps/soap/WEB-INF/classes/org *does* work,
> but this seems like an incredible hack -- not in the
> spirit of the .war file specification.
>
> Can someone please explain what's going on here? I'd like
> to understand the problem, and why I have to resort to
> hacking the SOAP webapp directory.  Why does Tomcat 4.01
> have a problem with having both lib/soap.jar and a complete
> webapps/soap/ directory?  And why is this manifesting itself
> as a "no signture match" fault for SOAP message-style services?
>
> Finally, since I've heard from a few other people having
> this proble, here's what I did to install SOAP 2.2 and
> my SOAP message-style service.  $SOAP_HOME is the directory
> where you installed Apache SOAP 2.2.  $CATALINA_HOME is the
> directory where you installed Tomcat 4.01.
>
>  (0) Unpack Tomcat 4.01 and SOAP 2.2
>  (1) cp $SOAP_HOME/lib/soap.jar to $CATALINA_HOME/lib/
>  (2) cp $SOAP_HOME/webapps/soap.war to $CATALINA_HOME/webapps/
>  (3) start Tomcat 4.01 so that it will expand soap.war
>  (4) rm -rf $CATALINA_HOME/webapps/soap/WEB-INF/classes/org/
>  (5) stop Tomcat
>  (6) cp mySoapServer.jar $CATALINA_HOME/lib/
>  (7) deploy my SOAP service using the SOAP messagerouter servlet
>
> My client app's classpath is:
>
.:${CATALINA_HOME}/lib/soap.jar:${CATALINA_HOME}/common/lib/xerces.jar:${CAT
ALINA_HOME}/common/lib/mail.jar:${CATALINA_HOME}/common/lib/activation.jar
>
>
> -Chris
>
> --
> Chris Malley
> PixelZoom, Inc.             Voice: +1.303.494.8849
> 835 Orman Drive             EMail: cmalley@pixelzoom.com
> Boulder CO 80303-2616
>


Re: Tomcat 4.01 & SOAP 2.2 message-style services

Posted by C Santosh Kumar <cs...@ebizportals.com>.
hi chris
Are you sure this problem is only with the message style services ?

and have a look at
http://localhost:8080/tomcat-docs/class-loader-howto.html
It says:
from the perspective of a web application, class or resource loading looks
in the following repositories, in this order:

  a.. /WEB-INF/classes of your web application
  b.. /WEB-INF/lib/*.jar of your web application
  c.. Bootstrap classes of your JVM
  d.. System class loader classses (described above)
  e.. $CATALINA_HOME/common/classes
  f.. $CATALINA_HOME/common/*.jar
  g.. $CATALINA_HOME/classes
  h.. $CATALINA_HOME/lib/*.jar

So according to this, just plain soap.war should work fine. dont know why it
is not
working.
chris, can u ask this query to craig in tomcat user mailing list ? This is a
classloader
problem, more to do with tomcat than soap.

Santosh.


----- Original Message -----
From: "Chris Malley" <cm...@pixelzoom.com>
To: <so...@xml.apache.org>
Sent: Monday, November 19, 2001 11:38 PM
Subject: Re: Tomcat 4.01 & SOAP 2.2 message-style services


> C Santosh Kumar wrote:
> >
> > so thats it.
> > soap.war has expanded soap.jar,
> > as org/apache/soap in WEB-INF classes.
> > So do not include soap.jar anymore
> > in the lib directory. or remove
> > that org directory.
> >
> > hope that helps.
>
> Thanks, that did help.
>
> Removing lib/soap.jar doesn't work.  Despite setting my
> classpath to $CATALINA_HOME/webapps/soap/WEB-INF/classes,
> I get this SOAP fault:
> java.lang.NoClassDefFoundError: org/apache/soap/Envelope
>
> Removing webapp/soap.war and webapps/soap/ doesn't
> work, because then the SOAP servlet isn't loaded and
> Tomcat doesn't know what to do with the SOAP messages.
>
> Removing webapps/soap/WEB-INF/classes/org *does* work,
> but this seems like an incredible hack -- not in the
> spirit of the .war file specification.
>
> Can someone please explain what's going on here? I'd like
> to understand the problem, and why I have to resort to
> hacking the SOAP webapp directory.  Why does Tomcat 4.01
> have a problem with having both lib/soap.jar and a complete
> webapps/soap/ directory?  And why is this manifesting itself
> as a "no signture match" fault for SOAP message-style services?
>
> Finally, since I've heard from a few other people having
> this proble, here's what I did to install SOAP 2.2 and
> my SOAP message-style service.  $SOAP_HOME is the directory
> where you installed Apache SOAP 2.2.  $CATALINA_HOME is the
> directory where you installed Tomcat 4.01.
>
>  (0) Unpack Tomcat 4.01 and SOAP 2.2
>  (1) cp $SOAP_HOME/lib/soap.jar to $CATALINA_HOME/lib/
>  (2) cp $SOAP_HOME/webapps/soap.war to $CATALINA_HOME/webapps/
>  (3) start Tomcat 4.01 so that it will expand soap.war
>  (4) rm -rf $CATALINA_HOME/webapps/soap/WEB-INF/classes/org/
>  (5) stop Tomcat
>  (6) cp mySoapServer.jar $CATALINA_HOME/lib/
>  (7) deploy my SOAP service using the SOAP messagerouter servlet
>
> My client app's classpath is:
>
.:${CATALINA_HOME}/lib/soap.jar:${CATALINA_HOME}/common/lib/xerces.jar:${CAT
ALINA_HOME}/common/lib/mail.jar:${CATALINA_HOME}/common/lib/activation.jar
>
>
> -Chris
>
> --
> Chris Malley
> PixelZoom, Inc.             Voice: +1.303.494.8849
> 835 Orman Drive             EMail: cmalley@pixelzoom.com
> Boulder CO 80303-2616
>


Re: Tomcat 4.01 & SOAP 2.2 message-style services

Posted by Chris Malley <cm...@pixelzoom.com>.
C Santosh Kumar wrote:
> 
> so thats it.
> soap.war has expanded soap.jar,
> as org/apache/soap in WEB-INF classes.
> So do not include soap.jar anymore
> in the lib directory. or remove
> that org directory.
> 
> hope that helps.

Thanks, that did help.

Removing lib/soap.jar doesn't work.  Despite setting my 
classpath to $CATALINA_HOME/webapps/soap/WEB-INF/classes,
I get this SOAP fault:
java.lang.NoClassDefFoundError: org/apache/soap/Envelope

Removing webapp/soap.war and webapps/soap/ doesn't
work, because then the SOAP servlet isn't loaded and
Tomcat doesn't know what to do with the SOAP messages.

Removing webapps/soap/WEB-INF/classes/org *does* work,
but this seems like an incredible hack -- not in the
spirit of the .war file specification.

Can someone please explain what's going on here? I'd like
to understand the problem, and why I have to resort to
hacking the SOAP webapp directory.  Why does Tomcat 4.01
have a problem with having both lib/soap.jar and a complete
webapps/soap/ directory?  And why is this manifesting itself
as a "no signture match" fault for SOAP message-style services?

Finally, since I've heard from a few other people having
this proble, here's what I did to install SOAP 2.2 and 
my SOAP message-style service.  $SOAP_HOME is the directory 
where you installed Apache SOAP 2.2.  $CATALINA_HOME is the 
directory where you installed Tomcat 4.01.

 (0) Unpack Tomcat 4.01 and SOAP 2.2
 (1) cp $SOAP_HOME/lib/soap.jar to $CATALINA_HOME/lib/
 (2) cp $SOAP_HOME/webapps/soap.war to $CATALINA_HOME/webapps/
 (3) start Tomcat 4.01 so that it will expand soap.war
 (4) rm -rf $CATALINA_HOME/webapps/soap/WEB-INF/classes/org/
 (5) stop Tomcat
 (6) cp mySoapServer.jar $CATALINA_HOME/lib/
 (7) deploy my SOAP service using the SOAP messagerouter servlet

My client app's classpath is:
.:${CATALINA_HOME}/lib/soap.jar:${CATALINA_HOME}/common/lib/xerces.jar:${CATALINA_HOME}/common/lib/mail.jar:${CATALINA_HOME}/common/lib/activation.jar


-Chris

-- 
Chris Malley
PixelZoom, Inc.             Voice: +1.303.494.8849
835 Orman Drive             EMail: cmalley@pixelzoom.com
Boulder CO 80303-2616

Re: Tomcat 4.01 & SOAP 2.2 message-style services

Posted by Chris Malley <cm...@pixelzoom.com>.
C Santosh Kumar wrote:
> 
> so thats it.
> soap.war has expanded soap.jar,
> as org/apache/soap in WEB-INF classes.
> So do not include soap.jar anymore
> in the lib directory. or remove
> that org directory.
> 
> hope that helps.

Thanks, that did help.

Removing lib/soap.jar doesn't work.  Despite setting my 
classpath to $CATALINA_HOME/webapps/soap/WEB-INF/classes,
I get this SOAP fault:
java.lang.NoClassDefFoundError: org/apache/soap/Envelope

Removing webapp/soap.war and webapps/soap/ doesn't
work, because then the SOAP servlet isn't loaded and
Tomcat doesn't know what to do with the SOAP messages.

Removing webapps/soap/WEB-INF/classes/org *does* work,
but this seems like an incredible hack -- not in the
spirit of the .war file specification.

Can someone please explain what's going on here? I'd like
to understand the problem, and why I have to resort to
hacking the SOAP webapp directory.  Why does Tomcat 4.01
have a problem with having both lib/soap.jar and a complete
webapps/soap/ directory?  And why is this manifesting itself
as a "no signture match" fault for SOAP message-style services?

Finally, since I've heard from a few other people having
this proble, here's what I did to install SOAP 2.2 and 
my SOAP message-style service.  $SOAP_HOME is the directory 
where you installed Apache SOAP 2.2.  $CATALINA_HOME is the 
directory where you installed Tomcat 4.01.

 (0) Unpack Tomcat 4.01 and SOAP 2.2
 (1) cp $SOAP_HOME/lib/soap.jar to $CATALINA_HOME/lib/
 (2) cp $SOAP_HOME/webapps/soap.war to $CATALINA_HOME/webapps/
 (3) start Tomcat 4.01 so that it will expand soap.war
 (4) rm -rf $CATALINA_HOME/webapps/soap/WEB-INF/classes/org/
 (5) stop Tomcat
 (6) cp mySoapServer.jar $CATALINA_HOME/lib/
 (7) deploy my SOAP service using the SOAP messagerouter servlet

My client app's classpath is:
.:${CATALINA_HOME}/lib/soap.jar:${CATALINA_HOME}/common/lib/xerces.jar:${CATALINA_HOME}/common/lib/mail.jar:${CATALINA_HOME}/common/lib/activation.jar


-Chris

-- 
Chris Malley
PixelZoom, Inc.             Voice: +1.303.494.8849
835 Orman Drive             EMail: cmalley@pixelzoom.com
Boulder CO 80303-2616

Re: Tomcat 4.01 & SOAP 2.2 message-style services

Posted by C Santosh Kumar <cs...@ebizportals.com>.
so thats it.
soap.war has expanded soap.jar,
as org/apache/soap in WEB-INF classes.
So do not include soap.jar anymore
in the lib directory. or remove
that org directory.

hope that helps.


----- Original Message -----
From: "Chris Malley" <cm...@pixelzoom.com>
To: <so...@xml.apache.org>; "C Santosh Kumar" <cs...@ebizportals.com>
Sent: Monday, November 19, 2001 12:58 PM
Subject: Re: Tomcat 4.01 & SOAP 2.2 message-style services


> C Santosh Kumar wrote:
> >
> > Tomcat 4 has several places where you can put
> > your jar files, and its confusing sometimes.
> > You have soap.jar in more than one place.
> > Have u used soap.war(which has soap in WEB-INF/classes) ?
> > and do u have soap.jar at some other place too?
>
> 'find $CATALINA_HOME -name soap.jar -print' shows
> only $CATALINA_HOME/lib/soap.jar.
>
> I put soap.war in $CATALINA_HOME/webapps, which has indeed
> been unpacked into $CATALINA_HOME/webapps/soap.  I put soap.jar
> in $CATALINA/HOME/lib, as described in the SOAP installation
> instructions for Tomcat 3.2.   Is this incorrect for
> Tomcat 4.01?  And if so, why would this break only
> message-style SOAP services?
>
> Thanks,
>
> -Chris
>
> >
> > ----- Original Message -----
> > From: "Chris Malley" <cm...@pixelzoom.com>
> > To: <so...@xml.apache.org>
> > Sent: Saturday, November 17, 2001 9:54 AM
> > Subject: Tomcat 4.01 & SOAP 2.2 message-style services
> >
> > > I'm been using Apache SOAP 2.2 with Tomcat 3.2.3.
> > > I recently upgraded to Tomcat 4.0.1 and my SOAP
> > > message-style services have stopped working.  RPC-style
> > > services still work fine, so I'm confident that I'm
> > > installing my jar files in the correct place (ie,
> > > $CATALINA_HOME/lib).
> > >
> > > Has anyone else experienced this, know what the problem
> > > might be?
> > >
> > > Attached is the SOAP fault message that I'm receiving, which
> > > indicates "no signature match" for my service method.
> > > I also have a simple example that demonstrates the problem,
> > > if that would help.  It's a service that echos whatever is
> > > sent to it.  The service method has this signature:
> > >
> > >  public void echo( Envelope env, SOAPContext req, SOAPContext res )
> > >     throws IOException, MessagingException;
> > >
> > > System & software info:
> > >   Linux 2.2.12-20 kernel
> > >   JDK 1.3.1_01
> > >   Tomcat 3.2.3 and 4.0.1
> > >   Apache SOAP 2.2
> > >   IBM XML4J 3.2.1
> > >   Java Activation Framework 1.0.1
> > >   Java Mail 1.2
> > >
> > > And since SOAP 2.2 doc doesn't include installation instructions
> > > for Tomcat 4, I followed the instructions for Tomcat 3.2.
> > >
> > > Thanks,
> > >
> > > -Chris
> > >
> > > --
> > > <?xml version='1.0' encoding='UTF-8'?>
> > > <SOAP-ENV:Envelope
> > > xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
> > > xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance" xmlns:xsd="
> > > http://www.w3.org/1999/XMLSchema">
> > > <SOAP-ENV:Body>
> > > <SOAP-ENV:Fault>
> > > <faultcode>SOAP-ENV:Server</faultcode>
> > > <faultstring>Exception while handling service request:
> > >
> >
echomsg.Server.echo(org.apache.soap.Envelope,org.apache.soap.rpc.SOAPContext
> > ,org.apache.soap.rpc.SOAPContext)
> > > -- no signature match</faultstring>
> > > <faultactor>/soap/servlet/messagerouter</faultactor>
> > > <detail>
> > > <stackTrace>java.lang.NoSuchMethodException:
> > >
> >
echomsg.Server.echo(org.apache.soap.Envelope,org.apache.soap.rpc.SOAPContext
> > ,org.apache.soap.rpc.SOAPContext)
> > > -- no signature match
> > >         at
> > > org.apache.soap.util.MethodUtils.getEntryPoint(MethodUtils.java:194)
> [...]
>


Re: Tomcat 4.01 & SOAP 2.2 message-style services

Posted by C Santosh Kumar <cs...@ebizportals.com>.
so thats it.
soap.war has expanded soap.jar,
as org/apache/soap in WEB-INF classes.
So do not include soap.jar anymore
in the lib directory. or remove
that org directory.

hope that helps.


----- Original Message -----
From: "Chris Malley" <cm...@pixelzoom.com>
To: <so...@xml.apache.org>; "C Santosh Kumar" <cs...@ebizportals.com>
Sent: Monday, November 19, 2001 12:58 PM
Subject: Re: Tomcat 4.01 & SOAP 2.2 message-style services


> C Santosh Kumar wrote:
> >
> > Tomcat 4 has several places where you can put
> > your jar files, and its confusing sometimes.
> > You have soap.jar in more than one place.
> > Have u used soap.war(which has soap in WEB-INF/classes) ?
> > and do u have soap.jar at some other place too?
>
> 'find $CATALINA_HOME -name soap.jar -print' shows
> only $CATALINA_HOME/lib/soap.jar.
>
> I put soap.war in $CATALINA_HOME/webapps, which has indeed
> been unpacked into $CATALINA_HOME/webapps/soap.  I put soap.jar
> in $CATALINA/HOME/lib, as described in the SOAP installation
> instructions for Tomcat 3.2.   Is this incorrect for
> Tomcat 4.01?  And if so, why would this break only
> message-style SOAP services?
>
> Thanks,
>
> -Chris
>
> >
> > ----- Original Message -----
> > From: "Chris Malley" <cm...@pixelzoom.com>
> > To: <so...@xml.apache.org>
> > Sent: Saturday, November 17, 2001 9:54 AM
> > Subject: Tomcat 4.01 & SOAP 2.2 message-style services
> >
> > > I'm been using Apache SOAP 2.2 with Tomcat 3.2.3.
> > > I recently upgraded to Tomcat 4.0.1 and my SOAP
> > > message-style services have stopped working.  RPC-style
> > > services still work fine, so I'm confident that I'm
> > > installing my jar files in the correct place (ie,
> > > $CATALINA_HOME/lib).
> > >
> > > Has anyone else experienced this, know what the problem
> > > might be?
> > >
> > > Attached is the SOAP fault message that I'm receiving, which
> > > indicates "no signature match" for my service method.
> > > I also have a simple example that demonstrates the problem,
> > > if that would help.  It's a service that echos whatever is
> > > sent to it.  The service method has this signature:
> > >
> > >  public void echo( Envelope env, SOAPContext req, SOAPContext res )
> > >     throws IOException, MessagingException;
> > >
> > > System & software info:
> > >   Linux 2.2.12-20 kernel
> > >   JDK 1.3.1_01
> > >   Tomcat 3.2.3 and 4.0.1
> > >   Apache SOAP 2.2
> > >   IBM XML4J 3.2.1
> > >   Java Activation Framework 1.0.1
> > >   Java Mail 1.2
> > >
> > > And since SOAP 2.2 doc doesn't include installation instructions
> > > for Tomcat 4, I followed the instructions for Tomcat 3.2.
> > >
> > > Thanks,
> > >
> > > -Chris
> > >
> > > --
> > > <?xml version='1.0' encoding='UTF-8'?>
> > > <SOAP-ENV:Envelope
> > > xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
> > > xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance" xmlns:xsd="
> > > http://www.w3.org/1999/XMLSchema">
> > > <SOAP-ENV:Body>
> > > <SOAP-ENV:Fault>
> > > <faultcode>SOAP-ENV:Server</faultcode>
> > > <faultstring>Exception while handling service request:
> > >
> >
echomsg.Server.echo(org.apache.soap.Envelope,org.apache.soap.rpc.SOAPContext
> > ,org.apache.soap.rpc.SOAPContext)
> > > -- no signature match</faultstring>
> > > <faultactor>/soap/servlet/messagerouter</faultactor>
> > > <detail>
> > > <stackTrace>java.lang.NoSuchMethodException:
> > >
> >
echomsg.Server.echo(org.apache.soap.Envelope,org.apache.soap.rpc.SOAPContext
> > ,org.apache.soap.rpc.SOAPContext)
> > > -- no signature match
> > >         at
> > > org.apache.soap.util.MethodUtils.getEntryPoint(MethodUtils.java:194)
> [...]
>


Re: Tomcat 4.01 & SOAP 2.2 message-style services

Posted by Chris Malley <cm...@pixelzoom.com>.
C Santosh Kumar wrote:
> 
> Tomcat 4 has several places where you can put
> your jar files, and its confusing sometimes.
> You have soap.jar in more than one place.
> Have u used soap.war(which has soap in WEB-INF/classes) ?
> and do u have soap.jar at some other place too?

'find $CATALINA_HOME -name soap.jar -print' shows 
only $CATALINA_HOME/lib/soap.jar.

I put soap.war in $CATALINA_HOME/webapps, which has indeed
been unpacked into $CATALINA_HOME/webapps/soap.  I put soap.jar
in $CATALINA/HOME/lib, as described in the SOAP installation
instructions for Tomcat 3.2.   Is this incorrect for
Tomcat 4.01?  And if so, why would this break only 
message-style SOAP services?

Thanks,

-Chris

> 
> ----- Original Message -----
> From: "Chris Malley" <cm...@pixelzoom.com>
> To: <so...@xml.apache.org>
> Sent: Saturday, November 17, 2001 9:54 AM
> Subject: Tomcat 4.01 & SOAP 2.2 message-style services
> 
> > I'm been using Apache SOAP 2.2 with Tomcat 3.2.3.
> > I recently upgraded to Tomcat 4.0.1 and my SOAP
> > message-style services have stopped working.  RPC-style
> > services still work fine, so I'm confident that I'm
> > installing my jar files in the correct place (ie,
> > $CATALINA_HOME/lib).
> >
> > Has anyone else experienced this, know what the problem
> > might be?
> >
> > Attached is the SOAP fault message that I'm receiving, which
> > indicates "no signature match" for my service method.
> > I also have a simple example that demonstrates the problem,
> > if that would help.  It's a service that echos whatever is
> > sent to it.  The service method has this signature:
> >
> >  public void echo( Envelope env, SOAPContext req, SOAPContext res )
> >     throws IOException, MessagingException;
> >
> > System & software info:
> >   Linux 2.2.12-20 kernel
> >   JDK 1.3.1_01
> >   Tomcat 3.2.3 and 4.0.1
> >   Apache SOAP 2.2
> >   IBM XML4J 3.2.1
> >   Java Activation Framework 1.0.1
> >   Java Mail 1.2
> >
> > And since SOAP 2.2 doc doesn't include installation instructions
> > for Tomcat 4, I followed the instructions for Tomcat 3.2.
> >
> > Thanks,
> >
> > -Chris
> >
> > --
> > <?xml version='1.0' encoding='UTF-8'?>
> > <SOAP-ENV:Envelope
> > xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
> > xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance" xmlns:xsd="
> > http://www.w3.org/1999/XMLSchema">
> > <SOAP-ENV:Body>
> > <SOAP-ENV:Fault>
> > <faultcode>SOAP-ENV:Server</faultcode>
> > <faultstring>Exception while handling service request:
> >
> echomsg.Server.echo(org.apache.soap.Envelope,org.apache.soap.rpc.SOAPContext
> ,org.apache.soap.rpc.SOAPContext)
> > -- no signature match</faultstring>
> > <faultactor>/soap/servlet/messagerouter</faultactor>
> > <detail>
> > <stackTrace>java.lang.NoSuchMethodException:
> >
> echomsg.Server.echo(org.apache.soap.Envelope,org.apache.soap.rpc.SOAPContext
> ,org.apache.soap.rpc.SOAPContext)
> > -- no signature match
> >         at
> > org.apache.soap.util.MethodUtils.getEntryPoint(MethodUtils.java:194)
[...]

Re: Tomcat 4.01 & SOAP 2.2 message-style services

Posted by Chris Malley <cm...@pixelzoom.com>.
C Santosh Kumar wrote:
> 
> Tomcat 4 has several places where you can put
> your jar files, and its confusing sometimes.
> You have soap.jar in more than one place.
> Have u used soap.war(which has soap in WEB-INF/classes) ?
> and do u have soap.jar at some other place too?

'find $CATALINA_HOME -name soap.jar -print' shows 
only $CATALINA_HOME/lib/soap.jar.

I put soap.war in $CATALINA_HOME/webapps, which has indeed
been unpacked into $CATALINA_HOME/webapps/soap.  I put soap.jar
in $CATALINA/HOME/lib, as described in the SOAP installation
instructions for Tomcat 3.2.   Is this incorrect for
Tomcat 4.01?  And if so, why would this break only 
message-style SOAP services?

Thanks,

-Chris

> 
> ----- Original Message -----
> From: "Chris Malley" <cm...@pixelzoom.com>
> To: <so...@xml.apache.org>
> Sent: Saturday, November 17, 2001 9:54 AM
> Subject: Tomcat 4.01 & SOAP 2.2 message-style services
> 
> > I'm been using Apache SOAP 2.2 with Tomcat 3.2.3.
> > I recently upgraded to Tomcat 4.0.1 and my SOAP
> > message-style services have stopped working.  RPC-style
> > services still work fine, so I'm confident that I'm
> > installing my jar files in the correct place (ie,
> > $CATALINA_HOME/lib).
> >
> > Has anyone else experienced this, know what the problem
> > might be?
> >
> > Attached is the SOAP fault message that I'm receiving, which
> > indicates "no signature match" for my service method.
> > I also have a simple example that demonstrates the problem,
> > if that would help.  It's a service that echos whatever is
> > sent to it.  The service method has this signature:
> >
> >  public void echo( Envelope env, SOAPContext req, SOAPContext res )
> >     throws IOException, MessagingException;
> >
> > System & software info:
> >   Linux 2.2.12-20 kernel
> >   JDK 1.3.1_01
> >   Tomcat 3.2.3 and 4.0.1
> >   Apache SOAP 2.2
> >   IBM XML4J 3.2.1
> >   Java Activation Framework 1.0.1
> >   Java Mail 1.2
> >
> > And since SOAP 2.2 doc doesn't include installation instructions
> > for Tomcat 4, I followed the instructions for Tomcat 3.2.
> >
> > Thanks,
> >
> > -Chris
> >
> > --
> > <?xml version='1.0' encoding='UTF-8'?>
> > <SOAP-ENV:Envelope
> > xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
> > xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance" xmlns:xsd="
> > http://www.w3.org/1999/XMLSchema">
> > <SOAP-ENV:Body>
> > <SOAP-ENV:Fault>
> > <faultcode>SOAP-ENV:Server</faultcode>
> > <faultstring>Exception while handling service request:
> >
> echomsg.Server.echo(org.apache.soap.Envelope,org.apache.soap.rpc.SOAPContext
> ,org.apache.soap.rpc.SOAPContext)
> > -- no signature match</faultstring>
> > <faultactor>/soap/servlet/messagerouter</faultactor>
> > <detail>
> > <stackTrace>java.lang.NoSuchMethodException:
> >
> echomsg.Server.echo(org.apache.soap.Envelope,org.apache.soap.rpc.SOAPContext
> ,org.apache.soap.rpc.SOAPContext)
> > -- no signature match
> >         at
> > org.apache.soap.util.MethodUtils.getEntryPoint(MethodUtils.java:194)
[...]

Re: Tomcat 4.01 & SOAP 2.2 message-style services

Posted by C Santosh Kumar <cs...@ebizportals.com>.
Tomcat 4 has several places where you can put
your jar files, and its confusing sometimes.
You have soap.jar in more than one place.
Have u used soap.war(which has soap in WEB-INF/classes) ?
and do u have soap.jar at some other place too?



----- Original Message -----
From: "Chris Malley" <cm...@pixelzoom.com>
To: <so...@xml.apache.org>
Sent: Saturday, November 17, 2001 9:54 AM
Subject: Tomcat 4.01 & SOAP 2.2 message-style services


> I'm been using Apache SOAP 2.2 with Tomcat 3.2.3.
> I recently upgraded to Tomcat 4.0.1 and my SOAP
> message-style services have stopped working.  RPC-style
> services still work fine, so I'm confident that I'm
> installing my jar files in the correct place (ie,
> $CATALINA_HOME/lib).
>
> Has anyone else experienced this, know what the problem
> might be?
>
> Attached is the SOAP fault message that I'm receiving, which
> indicates "no signature match" for my service method.
> I also have a simple example that demonstrates the problem,
> if that would help.  It's a service that echos whatever is
> sent to it.  The service method has this signature:
>
>  public void echo( Envelope env, SOAPContext req, SOAPContext res )
>     throws IOException, MessagingException;
>
> System & software info:
>   Linux 2.2.12-20 kernel
>   JDK 1.3.1_01
>   Tomcat 3.2.3 and 4.0.1
>   Apache SOAP 2.2
>   IBM XML4J 3.2.1
>   Java Activation Framework 1.0.1
>   Java Mail 1.2
>
> And since SOAP 2.2 doc doesn't include installation instructions
> for Tomcat 4, I followed the instructions for Tomcat 3.2.
>
> Thanks,
>
> -Chris
>
> --
> <?xml version='1.0' encoding='UTF-8'?>
> <SOAP-ENV:Envelope
> xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
> xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance" xmlns:xsd="
> http://www.w3.org/1999/XMLSchema">
> <SOAP-ENV:Body>
> <SOAP-ENV:Fault>
> <faultcode>SOAP-ENV:Server</faultcode>
> <faultstring>Exception while handling service request:
>
echomsg.Server.echo(org.apache.soap.Envelope,org.apache.soap.rpc.SOAPContext
,org.apache.soap.rpc.SOAPContext)
> -- no signature match</faultstring>
> <faultactor>/soap/servlet/messagerouter</faultactor>
> <detail>
> <stackTrace>java.lang.NoSuchMethodException:
>
echomsg.Server.echo(org.apache.soap.Envelope,org.apache.soap.rpc.SOAPContext
,org.apache.soap.rpc.SOAPContext)
> -- no signature match
>         at
> org.apache.soap.util.MethodUtils.getEntryPoint(MethodUtils.java:194)
>         at
> org.apache.soap.util.MethodUtils.getMethod(MethodUtils.java:548)
>         at
> org.apache.soap.util.MethodUtils.getMethod(MethodUtils.java:528)
>         at
> org.apache.soap.server.MessageRouter.invoke(MessageRouter.java:54)
>         at
> org.apache.soap.providers.MsgJavaProvider.invoke(MsgJavaProvider.java:125)
>         at
>
org.apache.soap.server.http.MessageRouterServlet.doPost(MessageRouterServlet
.java:268)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
>         at
>
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application
FilterChain.java:247)
>         at
>
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
ain.java:193)
>         at
>
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.ja
va:243)
>         at
>
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:5
66)
>         at
>
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
>         at
> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
>         at
>
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.ja
va:201)
>         at
>
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:5
66)
>         at
>
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
>         at
> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
>         at
> org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2344)
>         at
>
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164
)
>         at
>
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:5
66)
>         at
>
org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.
java:170)
>         at
>
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:5
64)
>         at
>
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:170
)
>         at
>
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:5
64)
>         at
> org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:462)
>         at
>
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:5
64)
>         at
>
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
>         at
> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
>         at
>
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java
:163)
>         at
>
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:5
66)
>         at
>
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
>         at
> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
>         at
>
org.apache.catalina.connector.http.HttpProcessor.process(HttpProcessor.java:
1011)
>         at
>
org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java:1106
)
>         at java.lang.Thread.run(Thread.java:484)
> </stackTrace>
> </detail>
> </SOAP-ENV:Fault>
>
> </SOAP-ENV:Body>
> </SOAP-ENV:Envelope>
> --
>


Re: Tomcat 4.01 & SOAP 2.2 message-style services

Posted by C Santosh Kumar <cs...@ebizportals.com>.
Tomcat 4 has several places where you can put
your jar files, and its confusing sometimes.
You have soap.jar in more than one place.
Have u used soap.war(which has soap in WEB-INF/classes) ?
and do u have soap.jar at some other place too?



----- Original Message -----
From: "Chris Malley" <cm...@pixelzoom.com>
To: <so...@xml.apache.org>
Sent: Saturday, November 17, 2001 9:54 AM
Subject: Tomcat 4.01 & SOAP 2.2 message-style services


> I'm been using Apache SOAP 2.2 with Tomcat 3.2.3.
> I recently upgraded to Tomcat 4.0.1 and my SOAP
> message-style services have stopped working.  RPC-style
> services still work fine, so I'm confident that I'm
> installing my jar files in the correct place (ie,
> $CATALINA_HOME/lib).
>
> Has anyone else experienced this, know what the problem
> might be?
>
> Attached is the SOAP fault message that I'm receiving, which
> indicates "no signature match" for my service method.
> I also have a simple example that demonstrates the problem,
> if that would help.  It's a service that echos whatever is
> sent to it.  The service method has this signature:
>
>  public void echo( Envelope env, SOAPContext req, SOAPContext res )
>     throws IOException, MessagingException;
>
> System & software info:
>   Linux 2.2.12-20 kernel
>   JDK 1.3.1_01
>   Tomcat 3.2.3 and 4.0.1
>   Apache SOAP 2.2
>   IBM XML4J 3.2.1
>   Java Activation Framework 1.0.1
>   Java Mail 1.2
>
> And since SOAP 2.2 doc doesn't include installation instructions
> for Tomcat 4, I followed the instructions for Tomcat 3.2.
>
> Thanks,
>
> -Chris
>
> --
> <?xml version='1.0' encoding='UTF-8'?>
> <SOAP-ENV:Envelope
> xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
> xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance" xmlns:xsd="
> http://www.w3.org/1999/XMLSchema">
> <SOAP-ENV:Body>
> <SOAP-ENV:Fault>
> <faultcode>SOAP-ENV:Server</faultcode>
> <faultstring>Exception while handling service request:
>
echomsg.Server.echo(org.apache.soap.Envelope,org.apache.soap.rpc.SOAPContext
,org.apache.soap.rpc.SOAPContext)
> -- no signature match</faultstring>
> <faultactor>/soap/servlet/messagerouter</faultactor>
> <detail>
> <stackTrace>java.lang.NoSuchMethodException:
>
echomsg.Server.echo(org.apache.soap.Envelope,org.apache.soap.rpc.SOAPContext
,org.apache.soap.rpc.SOAPContext)
> -- no signature match
>         at
> org.apache.soap.util.MethodUtils.getEntryPoint(MethodUtils.java:194)
>         at
> org.apache.soap.util.MethodUtils.getMethod(MethodUtils.java:548)
>         at
> org.apache.soap.util.MethodUtils.getMethod(MethodUtils.java:528)
>         at
> org.apache.soap.server.MessageRouter.invoke(MessageRouter.java:54)
>         at
> org.apache.soap.providers.MsgJavaProvider.invoke(MsgJavaProvider.java:125)
>         at
>
org.apache.soap.server.http.MessageRouterServlet.doPost(MessageRouterServlet
.java:268)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
>         at
>
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application
FilterChain.java:247)
>         at
>
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
ain.java:193)
>         at
>
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.ja
va:243)
>         at
>
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:5
66)
>         at
>
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
>         at
> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
>         at
>
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.ja
va:201)
>         at
>
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:5
66)
>         at
>
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
>         at
> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
>         at
> org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2344)
>         at
>
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164
)
>         at
>
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:5
66)
>         at
>
org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.
java:170)
>         at
>
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:5
64)
>         at
>
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:170
)
>         at
>
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:5
64)
>         at
> org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:462)
>         at
>
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:5
64)
>         at
>
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
>         at
> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
>         at
>
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java
:163)
>         at
>
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:5
66)
>         at
>
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
>         at
> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
>         at
>
org.apache.catalina.connector.http.HttpProcessor.process(HttpProcessor.java:
1011)
>         at
>
org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java:1106
)
>         at java.lang.Thread.run(Thread.java:484)
> </stackTrace>
> </detail>
> </SOAP-ENV:Fault>
>
> </SOAP-ENV:Body>
> </SOAP-ENV:Envelope>
> --
>