当前位置: 首页 > 工具软件 > open-rest > 使用案例 >

webService-REST方式

敖永丰
2023-12-01

之前开发的webService服务都是SOAP 通过WSDL文件来生成代码开发的,最近做系统集成时遇到REST的方式调用webService,现整理实现方案如下:



//REST服务是通过通过URL传递参数   返回JSON数据类型
        byte[] data=new byte[5024];
        int len=0;
        try {


            URL url=new URL("http://域名/seal/services/seal/process/useApply/single/create");
            HttpURLConnection conn=(HttpURLConnection)url.openConnection();
  


            conn.setRequestMethod("POST");// 提交模式
            conn.setRequestProperty("Content-Type", "application/json;charset=UTF-8");
            conn.setRequestProperty("Authorization", token);//设置http头权限认证传值
            conn.setUseCaches(false);
            conn.setDoOutput(true);// 是否输入参数
            //参数拼接--字节流的形式
//            StringBuffer param = new StringBuffer();
//            param.append("docNo=").append(info.getContractNumber()).append("&");、
//            param.append("remark=").append(info.getDescription()).append("&");//备注(非必填)--- 合同背景
//            param.append("upperSysName=").append("0").append("");// 上游系统名称---系统名称(简称)
//            data=param.toString().getBytes();           
//            InputStream inStream=conn.getInputStream();
//            while((len=inStream.read(data))!=-1){
//                outStream.write(data);
//            }
//            inStream.close();
             //参数拼接--json对象的形式
            InputStream inStream=conn.getInputStream();
            JSONObject mesg = new JSONObject();
            mesg.put("remark",info.getDescription());//备注(非必填)--- 合同背景
            mesg.put("integrationId","003");//主键
            JSONArray docList = new JSONArray();
            JSONObject doc = new JSONObject();
            doc.put("docNo", info.getContractNumber());//文档编码---合同编码(文档编码,不是唯一性,印章系统不做校验)
            doc.put("docName", "test1.docx");//文件名称—附件名称(不做检验)
            docList.add(0, doc);
            mesg.put("docList", docList);
            conn.getOutputStream().write(mesg.toString().getBytes("UTF-8"));//调用接口并传入参数


            //接收返回结果
            ByteArrayOutputStream outStream1 = new ByteArrayOutputStream();        
            byte[] buffer1 = new byte[1024];        int len1 = 0;        
            while( (len1 = inStream.read(buffer1)) !=-1 ){            
            outStream1.write(buffer1, 0, len1);        
            }        
            byte[] data1 = outStream1.toByteArray();//网页的二进制数据        
            inStream.close();       
            String strdata =new String(data1);
            return  strdata;
        } catch (IOException e) {
            logger.debug("访问ISITE获取JSON数据失败");
        }
return null;

 类似资料: