Hi, I have just downloaded Apache-SOAP v2.2 and Tomcat v3.2. and follow an article in Javaworld to verify SOAP implementation. Based upon the article, 2 programs have been developed, one for web service name "HelloServer.java" and the other is a client program named "Client". After the web service has been deployed and execute the client program, it always return error as following : Fault Code = SOAP-ENV:Server.Exception: Fault String = java.lang.NullPointerException and the client program as 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) { if (args.length == 0) { System.err.println("Usage : java hello.client [SOAP-router-URL "); System.exit(1); } try { URL ur = null; String name = null; if (args.length == 2) { ur = new URL(args[0]); name = args[1]; } else { ur = new URL("http://localhost:8080/apache-soap/servlet/rpcrouter"); name = args[0]; } Call call = new 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); Response resp = null; try { System.out.println("invoke service\n" + "URL = " + ur + "\n"); resp = call.invoke(ur, ""); } catch (SOAPException e ) { System.err.println("Caught SOAPException (" + e.getFaultCode() + "): " + e.getMessage()); System.exit(-1); } 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.err.println(" Fault Code = " + fault.getFaultCode()); System.err.println(" Fault String = " + fault.getFaultString()); } } catch (Exception e) { e.printStackTrace(); } } } and the client program as public class HelloServer { public String sayHelloTo(String name) { System.out.println("sayHelloTo(String name)"); return "Hello " + name + ", How are you doing ?"; } } and the Tomcat classpath as follow c:\xerces-1_3_0\xerces.jar;c:\soap-2_2\lib\soap.jar;c:\my documents\myjava\mysoap;C:\jakarta-tomcat-3.2.2\classes;C:\jakarta-tomcat-3. 2.2\lib\cocoon.jar;C:\jakarta-tomcat-3.2.2\lib\xerces_1_2.jar;C:\jakarta-tom cat-3.2.2\lib\stylebook-1.0-b2.jar;C:\jakarta-tomcat-3.2.2\lib\turbine-pool. jar;C:\jakarta-tomcat-3.2.2\lib\xlan_1_2_D02.jar;C:\jakarta-tomcat-3.2.2\lib \fop_0_15_0.jar;C:\soap-2_2\lib\soap.jar;C:\jakarta-tomcat-3.2.2\lib\w3c.jar ;C:\jakarta-tomcat-3.2.2\lib\ant.jar;C:\jakarta-tomcat-3.2.2\lib\cocoon.jar; C:\jakarta-tomcat-3.2.2\lib\fop_0_15_0.jar;C:\jakarta-tomcat-3.2.2\lib\jaspe r.jar;C:\jakarta-tomcat-3.2.2\lib\jaxp.jar;C:\jakarta-tomcat-3.2.2\lib\parse r.jar;C:\jakarta-tomcat-3.2.2\lib\servlet.jar;C:\jakarta-tomcat-3.2.2\lib\st ylebook-1.0-b2.jar;C:\jakarta-tomcat-3.2.2\lib\turbine-pool.jar;C:\jakarta-t omcat-3.2.2\lib\webserver.jar;C:\jakarta-tomcat-3.2.2\lib\xalan_1_2_D02.jar; C:\jakarta-tomcat-3.2.2\lib\xerces_1_2.jar;.;.;C:\PROGRA~1\JMF21~1.1\lib\sou nd.jar;C:\PROGRA~1\JMF21~1.1\lib\jmf.jar;C:\WINNT\java\classes;C:\dbxml-core \java\lib\dbXML.jar;.;c:\JDK1.3\lib\tools.jar and the configuration of web service deployment in Apache as following id --> urn:Hello Scope --> Request Provider Type --> java Provider Class --> HelloServer Use static class --> false Methods --> sayHelloTo Can u suggest what I can do ? Thank a lot Regards, Alex