That's because methods intended to be used with the messagerouter have
different signatures than their RPC counterparts...

Every message based SOAP method must accept 3 parameters... a SOAPEnvelope,
a request SOAPContext, and a response SOAPContext.  That was alluded to you
in the fault response you copied below, but I'll agree, it's not exactly
obvious.

Regards,

----- Original Message -----
From: "Jonathan Yue" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Wednesday, May 22, 2002 5:39 PM
Subject: RE: no signature match for message service


> You can try
>
> shutdown server
> restart
> redeploy
>
> j.
>
> -----Original Message-----
> From: Mark Vovsi [mailto:[EMAIL PROTECTED]]
> Sent: Wednesday, May 22, 2002 2:11 PM
> To: [EMAIL PROTECTED]
> Subject: no signature match for message service
> Importance: High
>
>
> I'm new to soap and trying to set up some message services. I've had no
> problems with rpc type services, but with message services I'm getting a
> "no signature match" error. I checked my classpath and everything seems to
> be in place (my soap rpc examples work no problem), and I made sure that
> the root element in the soap envelope (purchaseOrder in my case) has a
> matching method name in my Java class. Here's the reply I get back from my
> server implementation. Thanks in advance. Mark.
>
> <?xml version='1.0' encoding='UTF-8'?>
> <SOAP-ENV:Envelope xmlns:SOAP-ENV
> ="http://schemas.xmlsoap.org/soap/envelope/"; xm
> lns: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:
> OrderProcessor.purchaseOr
>
der(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:
> OrderProcessor.purchaseOrder(org.ap
>
ache.soap.Envelope,org.apache.soap.rpc.SOAPContext,org.apache.soap.rpc.SOAPC
> onte
> xt) -- 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(MessageRouter
> Servlet.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(Appl
> icationFilterChain.java:247)
>         at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
> ilterChain.java:193)
>         at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperV
> alve.java:243)
>         at
> org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline
> .java:566)
>         at
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav
> a:472)
>         at
> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
>
>         at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextV
> alve.java:190)
>         at
> org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline
> .java:566)
>         at
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav
> a:472)
>         at
> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
>
>         at
> org.apache.catalina.core.StandardContext.invoke(StandardContext.java:
> 2343)
>         at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j
> ava:180)
>         at
> org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline
> .java:566)
>         at
> org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatche
> rValve.java:170)
>         at
> org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline
> .java:564)
>         at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.j
> ava:170)
>         at
> org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline
> .java:564)
>         at
> org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:
> 468)
>         at
> org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline
> .java:564)
>         at
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav
> a:472)
>         at
> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
>
>         at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal
> ve.java:174)
>         at
> org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline
> .java:566)
>         at
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav
> a:472)
>         at
> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
>
>         at
> org.apache.catalina.connector.http.HttpProcessor.process(HttpProcesso
> r.java:1012)
>         at
> org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.ja
> va:1107)
>         at java.lang.Thread.run(Thread.java:479)
> </stackTrace>
> </detail>
> </SOAP-ENV:Fault>
>
> </SOAP-ENV:Body>
> </SOAP-ENV:Envelope>

Reply via email to