• 发送xml的http请求并返回xml消息体例子 .


    发送xml的http请求并返回xml消息体--例子 .
    public class SendAndGetXml {

      public static void main(String[] args) throws Exception
         {
               String rqestXml = "";
       String urls="";
        
       try
       {  
                                    String appserverIp = "10.166.46.182";
         String appserverPort = "8080";
         //发送xml消息体
                                    rqestXml = "<?xml version=\"1.0\" encoding=\"UTF-8\" ?

    ><root><ucAccount>"
           + "zkf48267"
           + "</ucAccount>"
           + "<passWord>"
           + "zkf48267"
           + "</passWord></root>";
         // 访问远程接接口
          urls = "http://" + appserverIp + ":" + appserverPort
           + "/ICBCCattestationM/validate";
         
         System.out.println(rqestXml);
         System.out.println(urls);
        
       } catch (Exception e)
       {
        throw new Exception();
       }
                            //使用HttpURLConnection发送http请求
              byte[] xmlbyte = rqestXml.getBytes("UTF-8"); 
       URL url = new URL(urls); 
       HttpURLConnection conn = (HttpURLConnection) url.openConnection(); 
       conn.setConnectTimeout(5* 1000); 
       conn.setDoOutput(true);//允许输出  
       conn.setUseCaches(false);//不使用Cache  
       conn.setRequestMethod("POST");           
       conn.setRequestProperty("Connection", "Keep-Alive");//维持长连接  
       conn.setRequestProperty("Charset", "UTF-8"); 
       conn.setRequestProperty("Content-Length", String.valueOf(xmlbyte.length)); 
       conn.setRequestProperty("Content-Type", "text/xml; charset=UTF-8"); 
       DataOutputStream outStream = new DataOutputStream(conn.getOutputStream()); 
       outStream.write(xmlbyte);//发送xml数据  
       outStream.flush();
       outStream.close();

    //解析返回来的xml消息体
       byte[] msgBody = null;
          if (conn.getResponseCode() != 200) throw new RuntimeException("请求url失败"); 
       InputStream is = conn.getInputStream();//获取返回数据 

       byte[] temp = new byte[1024];
       int n = 0;
       ByteArrayOutputStream bos = new ByteArrayOutputStream();
       while ((n = is.read(temp)) != -1)
       {
        bos.write(temp, 0, n);
       }
       msgBody = bos.toByteArray();
       bos.close();
       is.close();
       String returnXml= new String(msgBody, "UTF-8").trim();

       conn.disconnect();
       
       // 以下下游解析XML
       System.out.println(returnXml);
         }
    }

  • 相关阅读:
    JDK 5 ~ 10 新特性倾情整理!
    软件设计师-面向对象
    软件设计师-系统开发基础
    软件设计师-网络与信息安全
    软件设计师-数据库系统
    软件设计师-操作系统
    软件设计师-计算机系统知识
    DbParameter
    软件设计师-算法
    android studio快捷键
  • 原文地址:https://www.cnblogs.com/qqzy168/p/3136969.html
Copyright © 2020-2023  润新知