POST方式提交XML调用接口

              当调用的接口越来越多的时候,我也深深的知道自己所见到的世面是越来越窄,之前一直没有用过xml来传输接口参数,总之,该学习的还是要学习,无论是xml还是json还是什么的,都是双方约定好的一种传输协议,只有在双方都约定好并且做好一定的数据安全的时候才有可能达成交易,这样,调用就开始了。

              当我拿到接口文档的时候,是这样描述的,post方式提交,然后有一个地址,一个提交案例,并且没有说清楚是怎样的传输。现在拿到接口的一瞬间就是想能不能用postman先来试一试,看能不能调通,调通之后再写代码,进行测试。扯远了,还是说说post方式提交xml吧……

 public static void main(String[] args) throws Exception {
	          //直接字符串拼接
	        StringBuffer sb = new StringBuffer();
	        sb.append("<?xml version=”1.0” encoding=”utf-8” ?>\n" +
	                "<AdvPay>\n" +
	                "\t<PubInfo>\n" +
	                "\t\t<Version>1</Version>\n" +
	                "\t\t<EnterpriseBossId >1234</EnterpriseBossId>\n" +
	                "\t<VerifyCode>234234fsdf124121fs</VerifyCode>\n" +
	                "\t</PubInfo>\n" +
	                "\t<BusiData>\n" +
	                "\t\t<CreateTime> 1430969360657</CreateTime>\n" +
	                "\t\t<ChargePhoneNum>18867103685</ChargePhoneNum>\n" +
	                "\t\t<UserID>200</UserID>\n" +
	                "\t\t<ChargeNum>1</ChargeNum>\n" +
	                "\t</BusiData>\n" +
	                "</AdvPay>\n");//xml数据存储
	        String data = sb.toString();
	        System.out.println(data);
	
	        String url = "http://183.230.97.113/cq-web/open/ChargeFlow";
	        HttpClient httpclient = new HttpClient();
	        PostMethod post = new PostMethod(url);
	        String info = null;
	        try {
		            RequestEntity entity = new StringRequestEntity(data, "text/plain",
		                    "utf-8");
		            post.setRequestEntity(entity);
		            httpclient.executeMethod(post);
		            int code = post.getStatusCode();
		            if (code == HttpStatus.SC_OK)
		                info = new String(post.getResponseBodyAsString());  //接口返回的信息
	        } catch (Exception ex) {
		            ex.printStackTrace();
	        } finally {
		            post.releaseConnection();
	        }
	        System.out.println(info);
   }

              其实,现在大多数的方式都是HTTP协议,然后提交形式各有千秋罢了。以xml形式来传输数据,把要传输的xml拼接成String的类型,通过httpclient来提交。其实当接口调通的那一刻,你才明白,提供接口的一方才是王道,他用什么你就要迁就他,不过沟通真的太重要……还有一个古老的接口等着我…唉…


评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值