第一种,HttpClient模拟webService:
首先,导入jar包commons-httpclient-3.1.jar,准备模拟请求的基本数据sb
其次,封装请求request对象
再次,发送请求并接受返回结果
最后,得到的结果是XML形式的字符窜,可以用DoM,或sax技术进行报文解析。
形式1:
1
形式2:
public class test{
public static void main(String[] args) throws Exception {
HttpClient httpclient = new HttpClient();
String url = “http://locahost:9999/ws”;
HttpPost httppost = new HttpPost(url);
//定义json对象,里面放请求报文体
JSONObject json = new JSONObject();
//以下内容根据报文格式决定
json.put("user","zhangsan" );
json.put("pwd","123456" );
json.put("msgtype", "text");//格式
。。。。。
JSONObject detailA = new JSONObject();
detailA.put("title", "xxxxxx”);// 非必须,标题
detailA.put("content", "正文");// 必须,正文
json.put("text", detailA);
。。。。
StringEntity params = new StringEntity(json.toString(), "UTF-8");
httppost.setEntity(params);
HttpResponse response = httpclient.execute(httppost);//获得响应
int code=response.getStatusLine().getStatusCode() //获得响应吗,200为请求成功,作为判断使用
/* 读返回数据 */
String conResult = EntityUtils.toString(response.getEntity());
JSONObject sobj = new JSONObject();
sobj = sobj.fromObject(conResult);
String errmsg = sobj.getString("errmsg");
String errcode = sobj.getString("errcode");
。。。。
以下根据业务需求。。。。。
}
}
第二种,Jax_wbservice标准调用方式:服务器端地址改变,方便改
第三种,通过CXF调用web服务
1、 先通过(*wsimport 生成客户端)
2、把生成的代码拷贝到你的程序中
3、导入CXF的依赖jar包,
4、调用,com.zhj.service包就是通过import生成的文件包,拷贝到项目中。
下面说一说CXF+Spring调用webservice: