1 @RequestMapping(value = "/getStockWebInfo") 2 @ResponseBody 3 public Object getStockWebInfo(String webserviceUrl){ 4 WsReturnData ws = new WsReturnData(); 5 List<Map<String, Object>> listMap = new ArrayList<>(); 6 try { 7 if (!StringUtils.isEmpty(webserviceUrl)) { 8 // 创建WebService客户端代理工厂
9 JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean(); 10 // 判断是否抛出异常
11 factory.getOutInterceptors().add(new LoggingInInterceptor()); 12 // 注册webservice接口
13 factory.setServiceClass(StockWebService.class); 14 // 配置webservice地址
15 factory.setAddress(webserviceUrl); 16 // 获得接口对象
17 stockWebService = (StockWebService) factory.create(); 18 // 调用接口方法
19 ws = stockWebService.getStockInfo(); 20 for (int i = 0; i < ws.getListData().size(); i++) { 21 Map<String, Object> queryMap = new HashMap<>(); 22 queryMap.put("LOCCD", ws.getListData().get(i).getLOCCD()); 23 queryMap.put("QTY1", ws.getListData().get(i).getQTY1()); 24 listMap.add(queryMap); 25 } 26 System.out.println("调用结果:" + listMap); 27 System.out.println("返回结果:" + ws.getResultMsg()); 28 // 关闭接口连接(如果用于前端测试联通性并展示数据不能关闭接口连接) 29 //System.exit(0);
30 } 31 } catch (Exception e) { 32 e.printStackTrace(); 33 } 34 return listMap; 35
36 }