I have deployed a simple web service using Apache Tomcat 6.0 and Axis 1.4 in Windows XP. Now the server is very simple:
import java.io.*;
import java.util.*;
/*
HelloWorld.java
This is our web service
*/
public class HelloWorld
{
public String getHelloWorld(String id)
{
String retName="";
try
{
File indexFile = new File("index.txt");
retName=indexFile.getAbsolutePath()+id;
}
catch(Exception e)
{
e.printStackTrace();
}
return retName;
}
}
Now if the client doesn't send any parameters then everything works well. But as sson as I try to send a parameter to the server, I get the following error:
"javax.xml.rpc.JAXRPCException: Number of parameters passed in (0) doesn't match the number of IN/INOUT parameters (1) from the addParameter() calls"
Why is this happening??? My client is also very simple:
package dummyC;
import java.util.*;
import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
import org.apache.axis.encoding.XMLType;
import org.apache.axis.utils.Options;
import javax.xml.namespace.QName;
import javax.xml.rpc.ParameterMode;
import javax.xml.rpc.*;
public class DummyC {
/**
* @param args
*/
public static void main(String[] args)
{
try
{
Service service = new Service();
Call call = (Call)service.createCall();
String endpoint ="http://localhost:8081/axis/HelloWorld.jws";
call.setTargetEndpointAddress(new java.net.URL(endpoint));
call.setOperationName(new QName("getHelloWorld"));
call.addParameter("param1",XMLType.XSD_STRING, ParameterMode.IN);
String output = (String)call.invoke(new Object[]{});
System.out.println("Got result : " + output);
}
catch(Exception e)
{
System.out.print("sssss: "+e.toString());
}
}
}
Please guys, I need to solve this problem with in the next couple of days.
Bye.