用到的jar:
import org.apache.axis.client.Call; import org.apache.axis.client.Service; import org.apache.axis.encoding.XMLType;
都是axis的1.4的jar
配上作为客户端的调用代码吧
public void zlxfLa(Zlxf zlxf) {
try {
Service service = new Service();
Call call = (Call) service.createCall();
call.setTargetEndpointAddress(cszlxfUrl);// cszlxfUrl是接口的wsdl地址自己定义的名字
call.setOperationName(new QName("http://webservice.zhgl.supconit.com","reportZlxf"));// WSDL里面描述的接口名称 第二个是要调用的方法名
//这下边就是你要传递的参数根据自己的需求更改吧
Yjsj yjsj = yjsjService.getById(zlxf.getYjsjId());
Jgxx jgxx = this.jgxxService.getById(zlxf.getRecGldwid());
Route route = this.routeService.getById(yjsj.getRoadId());
ZlxfWeb zlx =new ZlxfWeb();
zlx.setId(IDGenerator.idGenerator());
zlx.setEventId(yjsj.getId());
zlx.setSjms(yjsj.getSjms());
zlx.setSsgldwMc(jgxx.getJgmc());
zlx.setRoadName(route.getLxqc());
zlx.setQdzh(yjsj.getQdzh());
zlx.setZdzh(yjsj.getZdzh());
zlx.setDesc(zlxf.getSendContent());
zlx.setDeptName(jgxx.getJgmc());
zlx.setImages("");
Map<String, List<ZlxfWeb>> map = new HashMap<String, List<ZlxfWeb>>();
List<ZlxfWeb> list = new ArrayList<ZlxfWeb>();
list.add(zlx);
map.put("data", list);
String data = JSON.toJSONString(map);
call.addParameter("arg0", XMLType.XSD_STRING, ParameterMode.IN);// 接口的参数
call.setReturnType(XMLType.XSD_STRING);// 设置返回类型
String result=(String) call.invoke(new Object[] {data});//传参并获取到返回值
JSONObject jso = JSON.parseObject(result);
int sta = jso.getInteger("status");//下边是根据需求对返回值的处理
if (sta == 200) {
JSONObject jsonObject = JSONObject.parseObject(result);
}else {
}
} catch (Exception e) {
e.printStackTrace();
}
}
作为服务端的其实就是一段后台的代码按照约定获取数据然后再根据你的业务需求调用方法,我就不贴代码了,没有想象中的难,最重要的就是思路,想好你要实现什么再去敲代码,