博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
模拟请求webservice并获取返回报文
阅读量:7222 次
发布时间:2019-06-29

本文共 2390 字,大约阅读时间需要 7 分钟。

hot3.png

     有时需要模拟请求webservice服务,并处理返回的报文,根据报文的信息进行业务处理。

     样例代码如下: 

import java.io.ByteArrayOutputStream;import java.io.DataOutputStream;import java.io.InputStream;import java.io.UnsupportedEncodingException;import java.net.HttpURLConnection;import java.net.URL;import java.util.HashMap;import java.util.Map;/** * Simulating request webservice * 模拟请求WEBSERVICE样例 * */public class SimRequestWS {		/**	 * 模拟请求WEBSERVICE方法	 * @param url	请求的Webservice地址	 * @param request	请求的报文,XML格式的字符串	 * @return	 */	public static Map
doRequestWS(URL url, String request) { HttpURLConnection connection = null; String rspMsg = ""; String rspCode = "ERROR"; try { byte[] requestBuf = (byte[]) null; requestBuf = request.getBytes("gbk"); connection = (HttpURLConnection) url.openConnection(); connection.setDoOutput(true); connection.setDoInput(true); connection.setRequestMethod("POST"); connection.setUseCaches(false); connection.setRequestProperty("Content-Type", "text/plain"); connection.connect(); DataOutputStream out = new DataOutputStream( connection.getOutputStream()); out.write(requestBuf); out.flush(); out.close(); if (connection.getResponseCode() != 200) { System.out.println("ERROR: " + connection.getResponseMessage()); } InputStream in = connection.getInputStream(); ByteArrayOutputStream bufOut = new ByteArrayOutputStream(); byte[] readBuf = new byte[100]; while (true) { int ret = in.read(readBuf); if (ret < 0) break; bufOut.write(readBuf, 0, ret); } byte[] rspBuf = bufOut.toByteArray(); rspMsg = new String(rspBuf, "gbk"); rspCode = connection.getResponseMessage(); } catch (Exception e) { e.printStackTrace(); } connection = null; Map
map = new HashMap
(); map.put("rspCode", rspCode); map.put("rspMsg", rspMsg); return map; } public static void main(String[] args) throws Exception, UnsupportedEncodingException { URL url = new URL("http://172.168.27.154:8081/cxfdemo?wsdl"); Map
map =SimRequestWS.doRequestWS( url, "
" + "
" + "
" + "
" + "
李四
" + "
" + "
" + "
"); System.out.println(map); }}

 模拟请求一个Webservice服务,返回信息如下:

{rspCode=OK, rspMsg=
hello 李四
}

转载于:https://my.oschina.net/cloudcoder/blog/214803

你可能感兴趣的文章
浅谈iOS中MVVM的架构设计
查看>>
node.js 中模块的循环调用问题详解
查看>>
ActiveReports 报表应用教程 (6)---分组报表
查看>>
OLEDB操作Excel
查看>>
struts2的json-default和struts-default的区别
查看>>
java中<> 的用法
查看>>
IIS 下配置无后缀的URL ReWrite
查看>>
对Asp.net Mvc 和 jQuery UI使用者的一些忠告
查看>>
Silverlight开发历程—动画(实现跑马灯效果)
查看>>
怎么说???
查看>>
[原]Windows批处理命令学习一
查看>>
AaronYang风格 C语言挑讲[一][基本入门]
查看>>
【oneday_onepage】——The Secret Of Steve<1>
查看>>
javascript基于原型的语言的特点
查看>>
我的爱情1
查看>>
BFS广搜题目(转载)
查看>>
什么是协变量
查看>>
linux驱动注册汇总
查看>>
windows cmd: 打开windows系统程序或服务的常见命令
查看>>
lua OOP实现对象的链式调用
查看>>