java调用webservice(并不是以.wsdl结尾的)并对返回的jason数据进行解释

来源:互联网 发布:淘宝原图的定义 编辑:程序博客网 时间:2024/06/06 17:06

1、返回的jason格式为:

{  "iChatAccountList": [    {      "acctNo": "string",      "acctStat": "string",      "contNo": "string",      "contStat": "string",      "contractEndDate": "string",      "custName": "string",      "servDescChi": "string",      "servDescEn": "string",      "servType": "string",      "subNo": "string",      "totalAmntDue": "string"    }  ],  "success": true}

2、通过HttpURLConnection拿到webservice返回的jason数据,对其进行解释并存放在一个javabean中

public List<loginMessage> getLoginMessage(String custId, String custName) {String strMessage = "";String servType, acctNo, contNo, acctStat, contStat, subNo, contractEndDate, totalAmntDue, custName1,servDescEn, servDescChi;HttpURLConnection conn = null;List<loginMessage> resultList = new ArrayList<loginMessage>();try {JSONObject jsonObject = new JSONObject();jsonObject.put("custId", custId);jsonObject.put("custName", custName);URL restUrl = new URL("http://192.168.44.24:9001/crmWS/fixedIChatLogin/login");conn = (HttpURLConnection) restUrl.openConnection();conn.setRequestMethod("POST");conn.setRequestProperty("Accept", "application/json");conn.setRequestProperty("Content-Type", "application/json; charset=UTF-8");conn.setDoInput(true);conn.setDoOutput(true);DataOutputStream dos = new DataOutputStream(conn.getOutputStream());dos.writeBytes(jsonObject.toString());log.info("jsonobject:" + jsonObject.toString());dos.flush();dos.close();int responseCode = conn.getResponseCode();log.info("getLoginMessage responseCode=" + responseCode);if (responseCode == 200) {BufferedReader bReader = new BufferedReader(new InputStreamReader(conn.getInputStream(), "UTF-8"));String strOutPut = "";StringBuilder sBuilder = new StringBuilder();while ((strOutPut = bReader.readLine()) != null) {sBuilder.append(strOutPut);}JSONObject jObject = new JSONObject(sBuilder.toString());String sign = jObject.getString("success");log.info("whether the login is successful-----" + "--sign:" + sign);JSONArray jArr = jObject.getJSONArray("iChatAccountList");for (int i = 0; i < jArr.length(); i++) {loginMessage lm = new loginMessage();JSONObject obj2 = jArr.getJSONObject(i);servType = obj2.getString("servType");acctNo = obj2.getString("acctNo");contNo = obj2.getString("contNo");acctStat = obj2.getString("acctStat");contStat = obj2.getString("contStat");subNo = obj2.getString("subNo");contractEndDate = obj2.getString("contractEndDate");totalAmntDue = obj2.getString("totalAmntDue");custName1 = obj2.getString("custName");servDescChi = obj2.getString("servDescChi");System.out.print(servDescChi + "+++++++++++++++++++++++++++++++++");servDescEn = obj2.getString("servDescEn");lm.setSign(sign);lm.setServType(servType);lm.setAcctNo(acctNo);lm.setContNo(contNo);lm.setAcctStat(acctStat);lm.setContStat(contStat);lm.setSubNo(subNo);lm.setContractEndDate(contractEndDate);lm.setTotalAmntDue(totalAmntDue);lm.setCustName(custName1);lm.setServDescChi(servDescChi);lm.setServDescEn(servDescEn);resultList.add(lm);}} else {log.info("Loing failed");loginMessage lm = new loginMessage();lm.setSign("false");resultList.add(lm);return resultList;}} catch (JSONException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (IOException e) {e.printStackTrace();} catch (Exception ex) {ex.printStackTrace();} finally {if (conn != null) {conn.disconnect();}}return resultList;}


0 0
原创粉丝点击