I am dynamically consuming a webservice by JAX-WS API. Instantiating service class and invoking by web service by reflection API.
Though the expected and actual argument is same its getting "Argument type mismatch" Exception.
Quick help is appreciated.
Class<?>[] paramTypes = serviceClassMethod.getParameterTypes();
System.out.println("Expected Param Class : "+paramTypes[0].getName());
System.out.println("Actual Param Class : "+reqVals[0].getClass());
System.out.println("Expected number : "+paramTypes.length);
System.out.println("Actual number : "+reqVals.length);
Object wsResponse = serviceClassMethod.invoke(service, reqVals);
System.out.println("Invocation successful...");
Output:
Expected Param Class : com.bla.bla.ws.User
Actual Param Class : class com.bla.bla.ws.User
Expected number : 1
Actual number : 1
paramTypes[0].equals(reqVals[0].getClass()). If this is not true, you most likely have the mentioned problem.