使用Java代码向SAP ABAP Netweaver发送HTTP post请求

简介: 使用Java代码向SAP ABAP Netweaver发送HTTP post请求
package cloudsynchronizer;
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 Synchronizer {
    final private static String POST_PREFIX = "https://ag3.corp:44356/sap/crm/bluecrystal_obd?sap-client=001&upload=";
    private static String getRequestURL(String str)
    {
      String url = POST_PREFIX + str;
          url = url + "&sid=" + Math.random();
          return url;
    }
   @SuppressWarnings("resource")
  private static void sendHTTPPostRequest(String str) 
   { 
     HttpClient httpclient = new DefaultHttpClient();
     String raw = "WANGJER:passw@rd"; 
     String encoded = Base64.encodeBase64String(raw.getBytes());
       HttpPost httppost = new HttpPost(getRequestURL(str));
       MultipartEntityBuilder builder = MultipartEntityBuilder.create();        
       builder.setMode(HttpMultipartMode.BROWSER_COMPATIBLE);
       builder.addTextBody("version", "1.0.1");
       builder.addTextBody("corporate", "sap");
       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();
          }
   }
   public static void main(String[] args) throws ClientProtocolException, IOException  
   {  
     sendHTTPPostRequest("&cmd=003&partner_id=MC7834");
   }  
}


相关文章
|
3月前
|
Linux C++ Windows
【Azure 应用服务】Azure App Service(Windows)环境中如何让.NET应用调用SAP NetWeaver RFC函数
【Azure 应用服务】Azure App Service(Windows)环境中如何让.NET应用调用SAP NetWeaver RFC函数
【Azure 应用服务】Azure App Service(Windows)环境中如何让.NET应用调用SAP NetWeaver RFC函数
|
3月前
|
Java
Java aop 如何获取请求头里的token
【8月更文挑战第13天】Java aop 如何获取请求头里的token
137 0
|
1月前
|
JSON Java 数据格式
java操作http请求针对不同提交方式(application/json和application/x-www-form-urlencoded)
java操作http请求针对不同提交方式(application/json和application/x-www-form-urlencoded)
50 1
|
2月前
|
JSON 前端开发 JavaScript
java中post请求调用下载文件接口浏览器未弹窗而是返回一堆json,为啥
客户端调接口需要返回另存为弹窗,下载文件,但是遇到的问题是接口调用成功且不报错,浏览器F12查看居然返回一堆json,而没有另存为弹窗; > 正确的效果应该是:接口调用成功且浏览器F12不返回任何json,而是弹窗另存为窗口,直接保存文件即可。
122 2
|
30天前
|
小程序 Java
小程序通过get请求提交数据到java后台
小程序通过get请求提交数据到java后台
28 0
|
3月前
|
数据采集 人工智能 监控
【Azure 应用程序见解】Application Insights Java Agent 3.1.0的使用实验,通过修改单个URL的采样率来减少请求及依赖项的数据采集
【Azure 应用程序见解】Application Insights Java Agent 3.1.0的使用实验,通过修改单个URL的采样率来减少请求及依赖项的数据采集
|
4月前
|
数据采集 Web App开发 Java
Java爬虫安全策略:防止TikTok音频抓取过程中的请求被拦截
Java爬虫安全策略:防止TikTok音频抓取过程中的请求被拦截
|
运维 监控 Kubernetes
SAP MTA 里定义 SAP UI5 module 的一个例子
SAP MTA 里定义 SAP UI5 module 的一个例子
|
XML JSON 数据格式
SAP UI5 XML 视图中数据绑定路径语法的难点和易混淆点的专题讲解
SAP UI5 XML 视图中数据绑定路径语法的难点和易混淆点的专题讲解
|
JavaScript 前端开发
SAP UI5 里 FlexBox 控件使用的一个例子
SAP UI5 里 FlexBox 控件使用的一个例子