Hi,
I have specified the RPCMessageReceiver as the Message Receiver in my services.xml.
I have specified the RPCMessageReceiver as the Message Receiver in my services.xml.
The target method is "String greet(String name)"
When I send a request from my client, Axis2 throws an
java.lang.IllegalArgumentException: wrong number of arguments as the message receiver tries to invoked the above method with no arguments.
When I remote debug it it looks like it has failed to parse the SOAP message properly for arguments and hence it is invoking with no arguments.
So it looks like
a) Something is wrong with my SOAP messsage
b) there could be a bug within the RPCMessageReceiver.
What could be wrong?
The exception occurs within the following highlighted code segment in the RPCMessageReceiver.java, and the method is invokeBusinessLogic.
Object resObject = null;
if (inAxisMessage != null) {
if (inAxisMessage.getElementQName() == null) {
// method accept empty SOAPbody
resObject = method.invoke(obj, new Object[0]);
} else {
The SOAP body is not empty, following is the SOAP message I sent from the client.
<?xml version='1.0' encoding='utf-8'?><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/ "><soapenv:Header /><soapenv:Body><ns1:greet xmlns:ns1=" http://axis2/sample/namespace1 "><ns1:name>Rajith</ns1:name></ns1:greet></soapenv:Body></soapenv:Envelope>
Regards,
Rajith
