Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> 發送XML給第三方

發送XML給第三方

編輯:關於Android編程

面試中有一個題目是發送(接受)xml,並解析。

當時有接觸但是沒有注意,所以回來強力關注下,並且記錄在這,大家一起學習下:

 

[java]
public static StringBuffer sendSoapMsg(String soapMessage, 
           String targetUrl, String soapAction, Long timeout) throws Exception 
   { 
       busLogger.enterFuncDebugLog(soapMessage, soapAction, targetUrl, timeout); 
       //保存響應消息  
       HttpURLConnection conn = null; 
       BufferedReader bf = null; 
       StringBuffer sb = new StringBuffer(); 
        
       try 
       { 
           URL url = new URL(targetUrl); 
           conn = (HttpURLConnection) url.openConnection(); 
           conn.setRequestMethod("POST"); 
           conn.setDoOutput(true); 
           conn.addRequestProperty("SOAPAction", soapAction); 
           conn.addRequestProperty("Content-type", "text/xml; charset=UTF-8"); 
            
           //默認超時時間30秒  
           conn.setConnectTimeout(timeout.intValue()); 
            
           //將發送請求參數寫入到http請求中  
           conn.getOutputStream().write(soapMessage.getBytes()); 
           conn.getOutputStream().flush(); 
           conn.getOutputStream().close(); 
            
           //從服務器獲取響應結果  
           InputStream in = conn.getInputStream(); 
            
           //從服務器讀取結果  
           bf = new BufferedReader(new InputStreamReader(in)); 
           String s = null; 
           while ((s = bf.readLine()) != null) 
           { 
               sb.append(s); 
           } 
       } 
       catch (Exception e) 
       { 
           busLogger.excepFuncDebugLog(e); 
            
           throw e; 
       } 
       finally 
       { 
           if (null != bf) 
           { 
               try 
               { 
                   bf.close(); 
               } 
               catch (IOException e) 
               { 
                   busLogger.excepFuncDebugLog(e); 
               } 
           } 
           if (conn != null) 
           { 
               conn.disconnect(); 
           } 
       } 
        
       busLogger.exitFuncDebugLog(sb.toString()); 
       return sb; 
   } 

 public static StringBuffer sendSoapMsg(String soapMessage,
            String targetUrl, String soapAction, Long timeout) throws Exception
    {
        busLogger.enterFuncDebugLog(soapMessage, soapAction, targetUrl, timeout);
        //保存響應消息
        HttpURLConnection conn = null;
        BufferedReader bf = null;
        StringBuffer sb = new StringBuffer();
       
        try
        {
            URL url = new URL(targetUrl);
            conn = (HttpURLConnection) url.openConnection();
            conn.setRequestMethod("POST");
            conn.setDoOutput(true);
            conn.addRequestProperty("SOAPAction", soapAction);
            conn.addRequestProperty("Content-type", "text/xml; charset=UTF-8");
           
            //默認超時時間30秒
            conn.setConnectTimeout(timeout.intValue());
           
            //將發送請求參數寫入到http請求中
            conn.getOutputStream().write(soapMessage.getBytes());
            conn.getOutputStream().flush();
            conn.getOutputStream().close();
           
            //從服務器獲取響應結果
            InputStream in = conn.getInputStream();
           
            //從服務器讀取結果
            bf = new BufferedReader(new InputStreamReader(in));
            String s = null;
            while ((s = bf.readLine()) != null)
            {
                sb.append(s);
            }
        }
        catch (Exception e)
        {
            busLogger.excepFuncDebugLog(e);
           
            throw e;
        }
        finally
        {
            if (null != bf)
            {
                try
                {
                    bf.close();
                }
                catch (IOException e)
                {
                    busLogger.excepFuncDebugLog(e);
                }
            }
            if (conn != null)
            {
                conn.disconnect();
            }
        }
       
        busLogger.exitFuncDebugLog(sb.toString());
        return sb;
    }。其中的String內容為xml格式的。

 

 

 

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved