xml已经用jaxb转化好了,然后用axis调用webservice接口
这是网上的调用方法:
try {
Service service = new Service();
Call call = (Call) service.createCall();
// call.setTimeout(new Integer(20000)); //设置超时时间
call.setTargetEndpointAddress(new java.net.URL(endpoint)); //设置目标接口的地址
call.setEncodingStyle(encodingStyle);//设置传入服务端的字符集格式如utf-8等
call.setOperationName(new QName(targetNamespace,method));// 具体调用的方法名,可以由接口提供方告诉你,也可以自己从WSDL中找
call.setUseSOAPAction(true);
call.addParameter(new QName(targetNamespace,paramNames[0]),
org.apache.axis.encoding.XMLType.XSD_INTEGER,
javax.xml.rpc.ParameterMode.IN);// 接口的参数
call.setReturnClass(java.lang.String[].class); //返回字符串数组类型
// 给方法传递参数,并且调用方法 ,如果无参,则new Obe
String[] result = (String[]) call.invoke(new Object[] {paramValues[0]});
// 打印返回值
System.out.println("result is " + Arrays.toString(result));
if (result != null && result.length > 0) {
for (int i = 0; i < result.length; i++) {
System.out.println(result[i]);
}
}
} catch (Exception e) {
System.err.println(e.toString());
}
但是运行报错
一个是:loadBundle: Ignoring MissingResourceException: Can't find bundle for base name org.apache.axis.resource, locale zh_CN
另一个是;org.xml.sax.SAXException: Found character data inside an array element while deserializing