java URL實現調用其他系統發送報文並獲取返回數據


 

    模擬本系統通過Url方式發送報文到目標服務器,並獲取返回數據:(實現類)

 1 import java.io.BufferedOutputStream;
 2 import java.io.BufferedReader;
 3 import java.io.InputStream;
 4 import java.io.InputStreamReader;
 5 import java.io.OutputStream;
 6 import java.io.OutputStreamWriter;
 7 import java.net.URL;
 8 import java.net.URLConnection;
 9 
10 public class BlazeSao {
11 
12     public static void callBlaze(String url ,String data) throws Exception{
13         URL u = new URL(url);
14         System.out.println("建立鏈接....");
15         //獲取連接對象
16         URLConnection uc = u.openConnection();
17         uc.setDoOutput(true);
18         //獲取輸出流對象
19         OutputStream raw = uc.getOutputStream();
20         OutputStream buffered = new BufferedOutputStream(raw);
21         OutputStreamWriter out = new OutputStreamWriter(buffered, "UTF-8");
22 
23         System.out.println("發送報文:"+data);
24         out.write(data);
25 
26         out.flush();
27         System.out.println("關閉連接");
28         out.close();
29         //獲取到返回數據的輸入流
30         InputStream is = uc.getInputStream();
31         BufferedReader br = new BufferedReader(new InputStreamReader(is,"UTF-8"));
32         String line = "";
33         StringBuffer blzRspXml = new StringBuffer();
34         System.out.println("獲取返回數據:");
35         while((line = br.readLine()) != null){
36             //讀取返回數據,分行讀取
37             System.out.println(line.trim());
38             blzRspXml.append(line.trim());
39         }
40     }
41 
42     public static void main(String args[]){
43         
44         //目標服務器地址
45         String url1 = "http://10.14.30.242:9080/RES/Rule";
46         //發送的報文
47         String data1 = "<?xml version=\"1.0\" encoding=\"UTF-8\"?><CardRequest><SEQ_TIME_STAMP>2014325170152799504</SEQ_TIME_STAMP><TYPE>1</TYPE><v_101>-999998</v_101><v_102>0.002740</v_102><v_109>111.11</v_109></CardRequest>";
48         try {
49             BlazeSao.callBlaze(url1,data1);
50         } catch (Exception e) {
51             e.printStackTrace();
52         }
53     }
54 
55 }

輸出日志:

建立鏈接....
發送報文:<?xml version="1.0" encoding="UTF-8"?><CardRequest><SEQ_TIME_STAMP>2014325170152799504</SEQ_TIME_STAMP><TYPE>1</TYPE><v_101>-999998</v_101><v_102>0.002740</v_102><v_109>111.11</v_109><v_110>111.11</v_110</CardRequest>
關閉連接
獲取返回數據:
<ResponseData>
<R_001>S5=-9999.0</R_001>
<R_002>T</R_002>
<R_003>Y</R_003>
<R_004></R_004>
<R_005></R_005>
<R_006>S5_B017_others</R_006>
</ResponseData>

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM