使用Java程序通过http post访问ABAP Netweaver服务器
Created by Jerry Wang, last modified on Aug 20, 2014
source code如下:
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:
<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>
如果遇到server certificate问题,可以参考这个link的解决方案: http://code.naishe.in/2011/07/looks-like-article-no-more-unable-to.html
使用Java程序通过http post访问ABAP Netweaver服务器相关推荐
- java服务器http post_使用Java程序通过http post访问ABAP Netweaver服务器
Created by Jerry Wang, last modified on Aug 20, 2014 source code如下: import java.io.FileNotFoundExcep ...
- SAP ABAP Netweaver服务器的标准登录方式讲解
最近Jerry把这个公众号之前发布的总共230篇文章按照类别整理了一系列合集出来,比如所有的ABAP文章,放在了这个合集里:汪子熙的ABAP合集. 本文继续介绍ABAP里的一个知识点:ABAP Net ...
- java程序通过http代理访问网络获取节假日数据
最近接到一个需求,需要计算工作日,比如某个周一调休放假,某个周六调休上班,由于节假日的安排是国家发布的,我们的系统是在内网,那就需要根据国家发布的安排在自己的数据库里记录,想到如果对着日历去录数据那就 ...
- 使用Java程序通过http post访问Application server
Created by Jerry Wang, last modified on Aug 20, 2014 source code如下: import java.io.FileNotFoundExcep ...
- Java程序员需要了解的两种服务器设计模型
我们在IO模型和Java网络编程模型中,对IO有了一定的理解.这一篇,主要讲解基于事件驱动的两种是在原来基础上的扩展.在基于事件驱动的网络编程模型中,Reactor和Proactor模型是两种常用的I ...
- centos java程序_刚得到一台centos7服务器,作为Java程序员应该做的事
1.JDK的卸载安装 卸载掉服务器本来的OPENJDK,安装ORELOC的JDK 检查是否已经安装了jdk rpm -qa | grep jdk 如果有的话,就卸载了再装 rpm -e --nodep ...
- 使用Java代码连接SAP ABAP Netweaver服务器
要获取更多Jerry的原创文章,请关注公众号"汪子熙":
- 如何查找UI5应用对应在ABAP Netweaver服务器上的BSP应用名称
For example, you want to know which BSA application contains the "FioriLaunchpad.html". No ...
- SAP OData的CSRF token在ABAP Netweaver服务器上是怎么生成的
最新文章
- Asp.net MVC生命周期
- Linux之SSH性能调优,防止连接等待时间过长,连接速度飞起
- win8下Python学习——搭建web.py框架
- 二极管7种应用电路详解之二
- moss2007 权限体系分析(深入到数据库结构的分析)
- html相对定位向上偏移,使用CSS的相对定位和偏移量
- JavaEE基础(三)
- Codeforces123E. Maze【树形dp】【概率dp】【证明题】
- Docker DeskTop安装Jenkins教程[Windows]
- 华硕H81M-CT主板开机报USB Device over current status Detected,15秒后关机维修一例
- 思科C2960交换机的默认网关
- N63044-第十周
- 在 V2EX 的开发环境里尝试了一下 OneAPM @livid
- SpringBoot整合Shiro搭建登录注册认证授权权限项目模板
- 本地应用程序_本地化PHP应用程序的“正确方法”,第4部分
- 可以下载《全程软件测试》样章电子版
- Fire (poj 2152 树形dp)
- 自媒体推广的方法和技巧有哪些?
- SYN 洪水攻击如何工作?
- Redis删除过期数据的策略概要