今天写了一个CXF动态创建客户端的程序,需要向服务器端传递一个自定义的对象。Object sendSmsRequest = Thread.currentThread()
.getContextClassLoader().loadClass(
"com.xdja.model.mtsms.SendSmsRequest")
.newInstance();
Method setVersion = object.getClass().getMethod("setVersion",
String.class);
setVersion.invoke(object, "1.0");
com.xdja.model.mtsms.SendSmsRequest 中的确有setVersion这个方法,但是总是抛出异常:java.lang.NoSuchMethodException: com.xdja.model.mtsms.SendSmsRequest.setVersion(java.lang.String)
at java.lang.Class.getMethod(Class.java:1581)
at com.xdja.sms.service.SmsOperator.initSmsRequest(SmsOperator.java:76)
at com.xdja.sms.service.SmsOperator.sendSms(SmsOperator.java:49)
at com.xdja.sms.service.SendSmsThread.run(SendSmsThread.java:28)服务器端使用的是XFire实现的,有人说是jaxb-xjc-2.1.13.jar版本低,不知道到底是为什么?请高手指点一下。不知道大家都是如何使用CXF向服务器端传递自定义对象的?