通过http链接调用接口

依赖包: httpclient-4.0.1.jar;xstream-1.3.jar

import java.io.IOException;

import org.apache.http.HttpEntity;

import org.apache.http.HttpResponse;

import org.apache.http.client.methods.HttpPost;

import org.apache.http.client.params.ClientPNames;

import org.apache.http.entity.StringEntity;

import org.apache.http.impl.client.DefaultHttpClient;

import org.apache.http.protocol.HTTP;

import org.apache.http.util.EntityUtils;

import org.apache.log4j.Logger;

public class HttpClientSoap {

public static final Logger LOG = Logger.getLogger(HttpClientSoap.class);

public static DefaultHttpClient http;

public static HttpPost post;

private String url;

public void setUrl(String url) {

this.url = url;

}

public String request(String entity) {

String resString = null;

if (http == null) {

http = new DefaultHttpClient();

post = new HttpPost(url);

http.getParams().setParameter(

ClientPNames.ALLOW_CIRCULAR_REDIRECTS, true);

}

synchronized (http) {

HttpEntity en = null;

try {

HttpEntity re = new StringEntity(entity, HTTP.UTF_8);

post.setHeader("Content-Type", "text/xml; charset=utf-8");

post.setEntity(re);

HttpResponse res = http.execute(post);

if (res != null) {

en = res.getEntity();

resString = EntityUtils.toString(en);

}

return resString;

} catch (Exception e) {

LOG.info("http client error------->" + e);

} finally {

try {

en.consumeContent();

} catch (IOException e) {

LOG.info("can‘t close httpclient-------->" + e);

}

}

}

return null;

}

}

/**
* 组建webservice参数.
*/

public class BuildWsParamUtil {
/**
* 调用接口.
* @param methodName 方法名
* @param requestCore 请求参数内容
* @return 完整的xml请求
*/

public static String xmlRequest(String methodName, String requestCore) {

StringBuffer xml = new StringBuffer("");

xml.append("");

return xml.toString();
}

//调用

HttpClientSoap soap = new HttpClientSoap();
soap.setUrl(his_ws_url);
String result = XmlUtil.pareXmlContent(
soap.request(BuildWsParamUtil.XmlRequest("方法名", param)).replace(" xsi:type=\"xsd:string\"", ""), "return");
result = result.replace("&lt;", "<").replace("&gt;", ">").replace("<![CDATA[", "").replace("]]>", "");
XStream xStream = new XStream();
xStream.alias("MessageResult", PatientDiagInfo.class);
PatientDiagInfo patientDiagInfo = (PatientDiagInfo) xStream.fromXML(XmlUtil.pareXml(result, "MessageResult"));

时间: 2024-10-12 08:23:33

通过http链接调用接口的相关文章

微信公众号调用接口返回码

返回码 说明 -1 系统繁忙,此时请开发者稍候再试 0 请求成功 40001 获取access_token时AppSecret错误,或者access_token无效.请开发者认真比对AppSecret的正确性,或查看是否正在为恰当的公众号调用接口 40002 不合法的凭证类型 40003 不合法的OpenID,请开发者确认OpenID(该用户)是否已关注公众号,或是否是其他公众号的OpenID 40004 不合法的媒体文件类型 40005 不合法的文件类型 40006 不合法的文件大小 4000

链接生成接口

链接生成接口 近日公司需要用到短链接,遂想是否可以找个现成的生成接口来用,于是乎就去摆渡,目前有百度家的短链接和新浪家的短链接,不巧的是百度家的短链竟然不支持我们这个长链接的生成,难道是因为传入的长链接参数是一个guid数字太长的原因?反正搞不懂为啥这么坑爹,没办法只能用新浪喽.尼玛查看了接口介绍才发现不能愉快的玩耍了.我只是想生成个短链而已,为啥这么坑爹要求登录还传入各种参数?继续摆渡看了第三方封装的,发现至少都要登陆,就没有一个简单共别人使用的,这里就想问下那些提供商就不能秉承共享精神,免费

使用HBuilder开发移动APP:ajax调用接口数据

既然要做APP,与接口交互式少不了的,除非只是想做一个纯静态的APP.所以html5+的环境准备好后,我最先开始研究的就是如何与接口交互. 使用HBuilder新建示例教程后,里面会有一个ajax(网络请求)的列子,文件目录是examples/ajax.html.看了下这个文件的代 码,它的功能就是点击“提交”按钮后提交参数给接口,然后根据选择的返回数据格式,将一段字符串打印出来.我准备改造下这段代码,改由页面加载时调用列表 接口,并在APP里显示这段列表,毕竟这种情况应该经常会用到. 1.在l

将数据库中查询的结果转换为json, 然后调用接口的方式返回json

调用接口,无非也就是打开链接 读取流 将结果以流的形式输出 将查询结果以json返回,无非就是将查询到的结果转换成jsonObject ============================================================= /***     * 将从数据中取到的结果以json的格式返回     *      * @param response     * @throws IOException     */    @RequestMapping(value =

新浪短网址生成,2款最新t.cn短链接api接口分享

分享2款比较稳定不错的新浪短网址生成器和两个最新的t.cn短链接api接口,可以将冗长的网址缩短转换成永久的短链接(10个字符以内).t.cn短域名的应用场景很广,譬如短信营销.微博吸粉.淘宝商品分享.京东商品分享.微信营销.QQ营销.自媒体推广.渠道推广等,都会用到短域名. 1- 蓝鸟短链接 新浪短链接在线生成器:http://lnurl.cn 新浪短网址api接口url:http://lnurl.cn/api/tcn 相关分享: 腾讯短链接在线生成器:http://lnurl.cn/urlc

C#post调用接口并上传文件

/// <summary> /// C#调用接口上传json数据,并且带文件上传 /// </summary> /// <param name="url">接口地址</param> /// <param name="filePath">文件路径</param> /// <returns></returns> public string RequestPost(string

WPS Office手机版调用接口代码指导帖之一(Android)

经常会有一些喜欢开发鼓捣的童鞋问我们,WPS Office手机版是否提供调用接口,希望在android中使用一个调用命令,直接调用WPS手机版来打开指定的DOC文件,而不用弹出一个程序可选列表(如果用户装了多个文档查看软件),由用户来选择使用哪一个程序打开DOC.希望省略选择程序这一过程,直接调用手机版WPS打开.bonnie就来为大家提供相关的示例,希望能帮助那些爱好开发的同学解决这一个问题啦. 以下是指定使用WPS中文版打开文档的代码示例(WPS不同语言版的包名略有不同,请注意红色标记部分哦

微信开放平台 公众号第三方平台开发 教程四 代公众号调用接口的SDK和demo

原文:微信开放平台 公众号第三方平台开发 教程四 代公众号调用接口的SDK和demo 教程导航: 微信开放平台 公众号第三方平台开发 教程一 平台介绍 微信开放平台 公众号第三方平台开发 教程二 创建公众号第三方平台 微信开放平台 公众号第三方平台开发 教程三 一键登录授权给第三方平台 微信开放平台 公众号第三方平台开发 教程四 代公众号调用接口的SDK和demo 前几章中我讲解了微信开发平台提供第三方平台的好处,和使用流程,如果你看了我的文章相信你对开放平台有了初步的了解,但是在实际的开发过程

http请求POST和GET调用接口以及反射动态调用Webservices类

此代码是API.WebSrvices动态调用的类,做接口调用时很实用. Webservices动态调用使用反射的方式很大的缺点是效率低,若有更好的动态调用webservices方法,望各位仁兄不吝贴上代码. using System; using System.IO; using System.Net; using System.Text; using System.Web; using System.Collections.Generic; using System.CodeDom.Compi