Hi, 1. chceck that Tomcat know where your *.class files for this demo are > path to this files should be in CLASSPATH befor you run TOMCAT
2. Check that your application is deployed on Server http://localhost:8080/soap/admin - list ----- Original Message ----- From: "amy" <[EMAIL PROTECTED]> To: "soap user" <[EMAIL PROTECTED]> Sent: Tuesday, May 14, 2002 9:19 AM Subject: a problem of "no signature match" > hi,I am green on soap and need ur help. > > My platform: > Tomcat 3.2.1 > Apache soap 2.2 > JDK 1.3.1 > Win2000 > > I wrote a simple service as followed: > package hello; > public class HelloServer > { > public String sayHelloTo(String name) > { > System.out.println("sayHelloTo(String name)"); > return "Hello " + name + ", How are you doing?"; > } > } > > The client code are showed below: > > package hello; > > import java.net.URL; > import java.util.Vector; > import org.apache.soap.SOAPException; > import org.apache.soap.Constants; > import org.apache.soap.Fault; > import org.apache.soap.rpc.Call; > import org.apache.soap.rpc.Parameter; > import org.apache.soap.rpc.Response; > > public class Client > { > public static void main(String[] args) throws Exception > { > if(args.length == 0) > { > System.err.println("Usage: java hello.Client [SOAP-router-URL] "); > System.exit (1); > } > > try > { > URL url = null; > String name = null; > if(args.length == 2) > { > url = new URL(args[0]); > name = args[1]; > } > else > { > url = new URL("http://localhost:8080/soap/servlet/rpcrouter"); > name = args[0]; > } > > // Build the call. > org.apache.soap.rpc.Call call = new org.apache.soap.rpc.Call(); > call.setTargetObjectURI("urn:Hello"); > call.setMethodName("sayHelloTo"); > call.setEncodingStyleURI(Constants.NS_URI_SOAP_ENC); > Vector params = new Vector(); > params.addElement(new Parameter("name", String.class, name, null)); > call.setParams(params); > > // Invoke the call. > Response resp = null; > try > { > resp = call.invoke(url, ""); > } > catch( SOAPException e ) > { > System.err.println("Caught SOAPException (" + e.getFaultCode() + "): " + e.getMessage()); > System.exit(-1); > } > > // Check the response. > if( !resp.generatedFault() ) > { > Parameter ret = resp.getReturnValue(); > Object value = ret.getValue(); > System.out.println(value); > } > else > { > Fault fault = resp.getFault(); > System.err.println("Generated fault: "); > System.out.println (" Fault Code = " + fault.getFaultCode()); > System.out.println (" Fault String = " + fault.getFaultString()); > } > } > catch(Exception e) > { > e.printStackTrace(); > } > } > } > > And I deployed my service on apache soap.Here is my problem when I ran it: > E:\>java hello.Client me > Generated fault: > Fault Code = SOAP-ENV:Server > Fault String = Exception while handling service request: hello.HelloServer.say > HelloTo(java.lang.String) -- no signature match > > I checked it my code and service,and they were all right.I am confused about this problem. > Any help will grateful! > > Sincerely > > ??????????????amy > ??????????????[EMAIL PROTECTED] > ?????????????????2002-05-14 >
