我是一个菜鸟,现在正在学着用wsdl、stub、连接webservice
现在出现的问题是:
org.apache.axis2.AxisFault: Exception occurred while trying to invoke service method ReadClientDBByStrings
at org.apache.axis2.util.Utils.getInboundFaultFromMessageContext(Utils.java:531)
at org.apache.axis2.description.OutInAxisOperationClient.handleResponse(OutInAxisOperation.java:375)
at org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:421)
at org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:229)
at org.apache.axis2.client.OperationClient.execute(OperationClient.java:165)
at com.estar.test.ws.ReadDataBaseStub.readClientDBByStrings(ReadDataBaseStub.java:255)
at com.estar.test.ws.testWebServices.main(testWebServices.java:36)
报这个错,不知道怎么解决,stub生成的两个文件应该是没错的,http://127.0.0.1:8099/webservice/services/ReadDataBase?wsdl连接也是可以成功的。
其中wsdl中的这部分的name应该是args,并且应该是6个,这块怎么改:
xs:sequence
/xs:sequence
这是测试类,不是我写的,所以也不知道是什么意思:
public static void main(String[] args) {
ReadDataBaseStub ms = null;
try {
System.out.println("----------------------getdata--------------------------------");
// 创建CallServiceStub对象,参数为webservice的wsdl地址
// DESPlus des = new DESPlus("estarcom");//自定义密�?
String x = "2";
System.out.println(x.equalsIgnoreCase("2"));
ms = new ReadDataBaseStub(
"http://127.0.0.1:8099/webservice/services/ReadDataBase?wsdl");
System.out.println("1111111111111111111111111111");
ReadDataBaseStub.ReadClientDBByStrings rcbs = new ReadDataBaseStub.ReadClientDBByStrings();
String[] col = new String[2];
col[0] = "MC";
col[1] = "LX";
String[] fi = new String[1];
fi[0] = "MC like '%公司%'";
rcbs.setUsername("fr_select");
rcbs.setPwd("fr_select");
rcbs.setColumn(col);
rcbs.setFilters(fi);
rcbs.setTableName("T_FR_JBXX");
ReadClientDBByStringsResponse response = ms.readClientDBByStrings(rcbs);
String retValue = response.get_return();// 获取到接口返回数�?
System.out.println("retValue is : " + retValue);
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
}
烦请哪位大神可以帮忙解决下