今天写ajax2 webservice  接口   测试的时候遇到下面异常[ERROR]-[2012-11-28 15:34:22] [org.apache.axis2.rpc.receivers.RPCMessageReceiver] null 
java.lang.IllegalArgumentException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.axis2.rpc.receivers.RPCUtil.invokeServiceClass(RPCUtil.java:212)
at org.apache.axis2.rpc.receivers.RPCMessageReceiver.invokeBusinessLogic(RPCMessageReceiver.java:117)
at org.apache.axis2.receivers.AbstractInOutMessageReceiver.invokeBusinessLogic(AbstractInOutMessageReceiver.java:40)
at org.apache.axis2.receivers.AbstractMessageReceiver.receive(AbstractMessageReceiver.java:110)
at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:181)
at org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:172)
at org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:146)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.struts2.dispatcher.ActionContextCleanUp.doFilter(ActionContextCleanUp.java:102)
code]
这是我的 配置[code=java]<?xml version="1.0" encoding="UTF-8"?>
<beans
xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:p="http://www.springframework.org/schema/p"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd"
default-autowire="byName"> <bean id="applicationContext" class="org.apache.axis2.extensions.spring.receivers.ApplicationContextHolder" />
<!-- 用户登录接口 -->
<bean id="loginSrv" class="com.posun.webservice.system.LoginSrv"></bean>
<!-- 考勤接口 -->
<bean id="attendanceSrv" class="com.posun.webservice.system.AttendanceSrv"></bean>
<!-- 拜访接口 -->
<bean id="visitSrv" class="com.posun.webservice.system.VisitSrv"></bean>

</beans>这里面总共有3个接口 ,其他2个接口没事,第3个接口测试的时候报错。
<?xml version="1.0" encoding="UTF-8" ?>
<serviceGroup>
<service name="loginSrv" targetNamespace="http://www.posun.cn/"
scope="application">
<description>用户登录</description>
<parameter name="ServiceObjectSupplier">
org.apache.axis2.extensions.spring.receivers.SpringAppContextAwareObjectSupplier
</parameter>
<parameter name="SpringBeanName">loginSrv</parameter> <operation name="login">
<messageReceiver class="org.apache.axis2.rpc.receivers.RPCMessageReceiver" />
</operation>
<excludeOperations>
<operation>getLoginService</operation>
<operation>setLoginService</operation>
</excludeOperations>
</service>

<service name="attendanceSrv" targetNamespace="http://www.posun.cn/"
scope="application">
<description>考勤</description> <parameter name="ServiceObjectSupplier">
org.apache.axis2.extensions.spring.receivers.SpringAppContextAwareObjectSupplier
</parameter>
<parameter name="SpringBeanName">attendanceSrv</parameter> <operation name="attendance">
<messageReceiver class="org.apache.axis2.rpc.receivers.RPCMessageReceiver" />
</operation>
<excludeOperations>
<operation>getAttendanceService</operation>
<operation>setAttendanceService</operation>
</excludeOperations>
</service>

<service name="visitSrv" targetNamespace="http://www.posun.cn/"
scope="application">
<description>拜访</description>
<parameter name="ServiceObjectSupplier">
org.apache.axis2.extensions.spring.receivers.SpringAppContextAwareObjectSupplier
</parameter>
<parameter name="SpringBeanName">visitSrv</parameter>
<operation name="visit">
<messageReceiver class="org.apache.axis2.rpc.receivers.RPCMessageReceiver" />
</operation>
<excludeOperations>
<operation>getVisitService</operation>
<operation>setVisitService</operation>
<operation>setVisitPathService</operation>
<operation>getVisitPathService</operation>
<operation>setUserManageService</operation>
<operation>getUserManageService</operation>
<operation>getVisitPathInfoService</operation>
<operation>setVisitPathInfoService</operation>
</excludeOperations>
</service>
</serviceGroup>接口内容
public class VisitSrv { private Logger log = Logger.getLogger(getClass());
     
private VisitService visitService;
private UserManageService userManageService;
private VisitPathService visitPathService;
private VisitPathInfoService visitPathInfoService;
/**
 * 终端拜访查询接口
 * 查询所有接口,当传入字段不为null将添加字段为条件查询,为null查询所有

 * @param
 * @return
 * @throws Exception 
 */
public String findAll(int page, int rows,String date,String empId,String empName,String departmentName,String departmentId,String customerId,String parhCode,String customerName,int pathSequence) throws Exception {
PageEntity entity = new PageEntity();
entity.setPageNo(page);
entity.setPageSize(rows);
String sqlWhere = "";
System.out.println(visitService);
if (date != null && !date.equals(""))  {
sqlWhere += " and convert(nvarchar(20),visitTime,120) like '"+date+"%'";

}
Visit visit =new Visit();
visit.setEmpId(empId);
visit.setEmpName(empName);
visit.setDepartmentName(departmentName);
visit.setDepartmentId(departmentId);
visit.setCustomerId(customerId);
visit.setParhCode(parhCode);
visit.setPathSequence(pathSequence);
JSONArray jsonArray;
jsonArray = visitService.findAll(sqlWhere, entity, visit).getJSONArray("rows");
Document doc = DocumentHelper.createDocument();
Element root = doc.addElement("Response");
Element statusEl = root.addElement("status");
statusEl.addText("1");
Element Menu = root.addElement("Menus");
if (jsonArray != null) {
for (int i = 0; i < jsonArray.size(); i++) {
Element VisitE1 = Menu.addElement("VisitE1");
Element RecordId = VisitE1.addElement("recordId");
RecordId.addText(jsonArray.getJSONObject(i).getString("recordId"));
Element EmpId = VisitE1.addElement("empRecId");
EmpId.addText(jsonArray.getJSONObject(i).getString("empRecId"));
Element EmpName = VisitE1.addElement("empId");
EmpName.addText(jsonArray.getJSONObject(i).getString("empId"));
Element DepartmentRecordId = VisitE1.addElement("empName");
DepartmentRecordId.addText(jsonArray.getJSONObject(i).getString("empName"));
Element DepartmentName = VisitE1.addElement("departmentRecId");
DepartmentName.addText(jsonArray.getJSONObject(i).getString("departmentRecId"));
Element AttenTypeId = VisitE1.addElement("departmentName");
AttenTypeId.addText(jsonArray.getJSONObject(i).getString("departmentName"));
Element AttenType = VisitE1.addElement("parhCode");
AttenType.addText(jsonArray.getJSONObject(i).getString("parhCode"));
Element AttenTime = VisitE1.addElement("pathSequence");
AttenTime.addText(jsonArray.getJSONObject(i).getString("pathSequence"));
Element Longitude = VisitE1.addElement("customerRecId");
Longitude.addText(jsonArray.getJSONObject(i).getString("customerRecId"));
Element Latitude = VisitE1.addElement("customerId");
Latitude.addText(jsonArray.getJSONObject(i).getString("customerId"));
Element CustomerName = VisitE1.addElement("customerName");
CustomerName.addText(jsonArray.getJSONObject(i).getString("customerName"));
Element PopNum = VisitE1.addElement("popNum");
PopNum.addText(jsonArray.getJSONObject(i).getString("popNum"));
Element Standees = VisitE1.addElement("standees");
Standees.addText(jsonArray.getJSONObject(i).getString("standees"));
Element CustOrder = VisitE1.addElement("custOrder");
CustOrder.addText(jsonArray.getJSONObject(i).getString("custOrder"));
Element PalmSku = VisitE1.addElement("palmSku");
PalmSku.addText(jsonArray.getJSONObject(i).getString("palmSku"));
Element StockPercent = VisitE1.addElement("stockPercent");
StockPercent.addText(jsonArray.getJSONObject(i).getString("stockPercent"));
Element VisitTime = VisitE1.addElement("visitTime");
VisitTime.addText(jsonArray.getJSONObject(i).getString("visitTime"));
Element CustomerStock = VisitE1.addElement("customerStock");
CustomerStock.addText(jsonArray.getJSONObject(i).getString("customerStock"));
Element SpannedSku = VisitE1.addElement("spannedSku");
SpannedSku.addText(jsonArray.getJSONObject(i).getString("spannedSku"));
Element DataCode = VisitE1.addElement("dataCode");
DataCode.addText(jsonArray.getJSONObject(i).getString("dataCode"));
Element Photo1 = VisitE1.addElement("photo1");
Photo1.addText(jsonArray.getJSONObject(i).getString("photo1"));
Element Photo2 = VisitE1.addElement("photo2");
Photo2.addText(jsonArray.getJSONObject(i).getString("photo2"));
Element Photo3 = VisitE1.addElement("photo3");
Photo3.addText(jsonArray.getJSONObject(i).getString("photo3"));
Element Photo4 = VisitE1.addElement("photo4");
Photo4.addText(jsonArray.getJSONObject(i).getString("photo4"));
Element Photo5 = VisitE1.addElement("photo5");
Photo5.addText(jsonArray.getJSONObject(i).getString("photo5"));
Element Photo6 = VisitE1.addElement("photo6");
Photo6.addText(jsonArray.getJSONObject(i).getString("photo6"));
Element Photo7 = VisitE1.addElement("photo7");
Photo7.addText(jsonArray.getJSONObject(i).getString("photo7"));
Element Photo8 = VisitE1.addElement("photo8");
Photo8.addText(jsonArray.getJSONObject(i).getString("photo8"));
}
log.info("终端查询信息成功。记录数:" + jsonArray.size());
} else {
statusEl.addText("0");
}

return doc.getRootElement().asXML();
}