使用Java程序通过http post访问ABAP Netweaver服...

使用Java程序通过http post访问ABAP Netweaver服务器
 

 

 

source code如下:

 

[Java] 纯文本查看 复制代码
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
import java.io.FileNotFoundException;
import java.io.IOException; 
import org.apache.commons.codec.binary.Base64;
import org.apache.http.HttpEntity; 
import org.apache.http.HttpResponse; 
import org.apache.http.client.ClientProtocolException; 
import org.apache.http.client.HttpClient; 
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.mime.HttpMultipartMode;
import org.apache.http.entity.mime.MultipartEntityBuilder;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.util.EntityUtils;
  
@SuppressWarnings("deprecation")
public class MyHTTPPost
{
 final private static String POST_PREFIX = <replace with your own application server url>;
  
 private static String getRequestURL(String str)
 {
 String url = POST_PREFIX + str;
        url = url + "&sid=" + Math.random();
         return url;
 }
  
 private static void sendHTTPPostRequest(String str) throws FileNotFoundException
 {
 HttpClient httpclient = new DefaultHttpClient();
 String raw = "WANGJER:Saptest1";
 String encoded = Base64.encodeBase64String(raw.getBytes());
  
        HttpPost httppost = new HttpPost(getRequestURL(str));
        MultipartEntityBuilder builder = MultipartEntityBuilder.create();       
        builder.setMode(HttpMultipartMode.BROWSER_COMPATIBLE);
         
        builder.addTextBody("firstName", "Jerry");
        builder.addTextBody("lastName", "Wang");
        try {
            httppost.addHeader("Content-Type","multipart/form-data; boundary=assdsfdffafasf");
           httppost.addHeader("User-Agent","Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)");
            httppost.addHeader("Authorization", "Basic " + encoded); 
             
            HttpResponse httpresponse = httpclient.execute(httppost);
            HttpEntity resEntity = httpresponse.getEntity();
            String response = EntityUtils.toString(resEntity);
            System.out.println(response);
        }
        catch (IOException e)
        {
         System.out.println(e.getLocalizedMessage());
         e.printStackTrace();
         System.out.println("error!");
        }
 }
  
 public static void main(String[] args) throws ClientProtocolException, IOException 
 
 sendHTTPPostRequest("a");
 
}


运行结果:
application server会解析出Java program传入的http 请求中的"a", 然后从DB table scarr 中查找对应的记录,返回给Java side:

[HTML] 纯文本查看 复制代码
1
<a href=’http://www.aa.com’ target=’_blank’>American Airlines</a><br /><a href=’http://www.aircanada.ca’ target=’_blank’>Air Canada</a><br /><a href=’http://www.airfrance.fr’ target=’_blank’>Air France</a><br /><a href=’http://www.alitalia.it’ target=’_blank’>Alitalia</a><br /><a href=’http://www.british-airways.com’ target=’_blank’>British Airways</a><br /><a href=’http://www.airpacific.com’ target=’_blank’>Air Pacific</a><br /><a href=’http://www.continental.com’ target=’_blank’>Continental Airlines</a><br /><a href=’http://www.delta-air.com’ target=’_blank’>Delta Airlines</a><br /><a href=’http://www.airberlin.de’ target=’_blank’>Air Berlin</a><br /><a href=’http://www.lufthansa.com’ target=’_blank’>Lufthansa</a><br /><a href=’http://www.laudaair.com’ target=’_blank’>Lauda Air</a><br /><a href=’http://www.jal.co.jp’ target=’_blank’>Japan Airlines</a><br /><a href=’http://www.nwa.com’ target=’_blank’>Northwest Airlines</a><br /><a href=’http://www.qantas.com.au’ target=’_blank’>Qantas Airways</a><br /><a href=’http://www.saa.co.za’ target=’_blank’>South African Air.</a><br /><a href=’http://www.singaporeair.com’ target=’_blank’>Singapore Airlines</a><br /><a href=’http://www.ual.com’ target=’_blank’>United Airlines</a>



摘自:https://yq.aliyun.com/articles/746780?spm=a2c4e.11157919.spm-cont-list.7.146cf204XrSXWY

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章