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 }