WebService发布与访问并通过Postman测试WebService接口
一、创建webService服务。
采用appache提供的cxf开发webService服务,需要引入如下几个包
1、创建工程test
创建实体类
package hu.liu;
import lombok.Getter;
import lombok.Setter;
/**
* @author 作者:David
* @version 创建时间:2018年3月5日 下午3:09:46
* 类说明 Info.java
*/
@Getter
@Setter
public class Info
{
private Integer id;
private String key;
private String result;
}
创建接口:
package hu.liu;
import java.util.Map;
import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebService;
/**
* @author 作者:David
* @version 创建时间:2018年3月5日 下午2:23:36
* 类说明 IWebService.java
*/
@WebService
public interface IWebService
{
@WebMethod
public String excute(@WebParam(name="param") String s);
@WebMethod
public String testString(Info param);
}
实现IWebService接口:
package hu.liu;
import java.util.Map;
import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebService;
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
/**
* @author 作者:David
* @version 创建时间:2018年3月5日 下午2:25:14
* 类说明 WebServiceImp.java
*/
@WebService
public class WebServiceImp implements IWebService
{
@WebMethod
@Override
public String excute(@WebParam(name="param") String param)
{
System.out.println(param);
Gson json = new Gson();//需要引入Gson包
Info info = json.fromJson(param, new TypeToken<Info>(){}.getType());
Integer id = info.getId();
System.out.println(id);
return "hello world!";
}
@WebMethod
@Override
public String testString(Info param)
{
return "dddd";
}
}
创建webService发布启动类:
package hu.liu;
import org.apache.cxf.jaxws.JaxWsServerFactoryBean;
/**
* @author 作者:David
* @version 创建时间:2018年3月5日 下午2:25:48
* 类说明 Launcher.java
*/
public class Launcher
{
public static void main(String[] args)
{
JaxWsServerFactoryBean factory = new JaxWsServerFactoryBean();
factory.setServiceClass(IWebService.class);
// 发布接口
factory.setAddress("http://localhost:9000/ws/" + IWebService.class.getSimpleName());
factory.setServiceBean(new WebServiceImp());
factory.create();
}
}
至此一个简单的webService服务就已经发布成功了。
通过浏览器访问http://localhost:9000/ws/IWebService?wsdl 可以看到如下信息:
以上标注红色的是方法名及对应的参数。
二、创建客户端访问webService。
创建客户端工程,并引入与服务相同的包,且创建IWebService接口,接口的目录和服务端的一样,且方法一样。可以将服务端的接口打成jar包提供给客户端。
客户端调用代码如下:
package hu.liu;
import java.security.NoSuchAlgorithmException;
import java.util.Date;
import org.apache.cxf.jaxws.JaxWsProxyFactoryBean;
import com.google.gson.Gson;
/**
* @author 作者:David
* @version 创建时间:2018年1月5日 下午3:59:37
* 类说明 TestImp1.java
*/
public class TestImp1
{
public static void main(String[] args) throws NoSuchAlgorithmException
{
JaxWsProxyFactoryBean factoryBean=new JaxWsProxyFactoryBean();
/*factoryBean.getInInterceptors().add(new LoggingInInterceptor());
factoryBean.getOutInterceptors().add(new LoggingOutInterceptor()); */
factoryBean.setServiceClass(IWebService.class);
factoryBean.setAddress("http://localhost:9000/ws/IWebService?wsdl");
IWebService webService=(IWebService) factoryBean.create();
Gson gson = new Gson();
Info info = new Info();
info.setId(123);
info.setResult("中国");
/*sb.append("id=").append(info.getId());
sb.append("&result=").append(info.getResult());
info.setKey(new MD5Util().hashCode(sb.toString()));*/
String s = gson.toJson(info);
System.out.println(webService.excute(s));
}
}
执行后如果没有意外应该有如下信息
客户端打印信息:4444444444444
服务端打印信息:123
至此整个webService从服务发布到客户端调用整个过程梳理完毕。
当然了,很多人在开发的时候只是负责开发服务端,不关心客户端的情况,这种时候如何通过webService测试软件进行接口测试呢。目前我使用的是Postman,谷歌提供的一个接口测试插件。
现在通过Postman测试以上发布的接口excute接口如下:
1、打开Postman界面如下:
设置Content-Type=text/xml
设置body请求调用的方法excute及对应的参数param
请求结果如下:
至此通过Postman进行webService接口测试测试完毕!
WebService发布与访问并通过Postman测试WebService接口相关推荐
- 开发避坑3——大鸟 pk Bug(使用postman测试POST接口遇到报错(ErrorMessage:Unauthorization request ......))
使用postman测试POST接口遇到报错(ErrorMessage:Unauthorization request -) 不管你是前端.后端.测试还是运维等工程师,学会使用postman测试接口是工 ...
- [WebService] 使用postman测试webservice接口
转载自: https://blog.csdn.net/qq_34869990/article/details/89678528 1.首先看一下webservice发布是否成功(注意在接下来的步骤中发布 ...
- Postman测试webService接口
1.打开Postman界面如下: 设置Content-Type=text/xml 2.设置body 3.请求结果如下: 4.至此通过Postman进行webService接口测试测试完毕!
- 利用json+webservice实现android访问远程数据库,利用JSON+WebService实现Android访问远程数据库...
2013年第9期SCIENCE&TECHNOLOGYINFORMATION ○IT论坛○科技信息 利用JSON+WebService实现Android访问远程数据库 黄淑静1杨红梅2 (1.山 ...
- postman测试https接口
前一篇都配置了nginx支持https访问.我想也把https测试也好好写一下. 过程:给postman添加证书文件=>postman禁用https校验=>测试一个https请求 一.给p ...
- 如何用Postman测试整套接口?测试流程是什么?
目录 基于postman测试接口(整套接口测试) 可以解决的问题 开启控制台 单个测试尝试 使用请求结果当参数 打印结果(JSON) 自定义可视化结果 随机参数 测试用例连接 一键测试接口集合 从sw ...
- postman测试restful接口
there 一.postman简介 二.postman检测接口 2.1 测试接口 四.总结 一.postman简介 Postman 是一种常用的接口测试工具,可以发送几乎所有类型的HTTP请求.Pos ...
- postman 测试webservice接口
- 接口测试之Postman使用全指南(原来使用 Postman测试API接口如此简单)
目录 一.Postman背景介绍 二.Postman的操作环境 三.Postman重要提示: 四.什么是接口测试 五.接口测试工具 六.接口测试流程 七.接口测试执行 八.全局变量和环境变量 九.p ...
最新文章
- 《几何与代数导引》习题1.35.4
- android:怎样用一天时间,写出“飞机大战”这种游戏!(无框架-SurfaceView绘制)...
- Django--models一对多实例
- java常见面试题及答案 11-20(JVM篇)
- 可视化数据库管理工具DataGrip使用详解
- SharePoint 常见问题
- 多选题spss相关分析_【医学问卷分析】使用SPSS多重响应对医学问卷多选题进行统计分析——【杏花开医学统计】...
- 聊下并发和Tomcat线程数(错误更正)
- 三线压力传感器原理_电喷摩托车进气压力传感器原理与检测
- C# 注册dll的两种方式
- 关于数据的笑话 30 则
- (转)鲶鱼理论、鲶鱼效应
- 叶聪:朋友圈背后的计算机视觉技术与应用 1
- Linux软件防火墙:iptables
- 锁存器(latch)、触发器(flip-flop)、寄存器(register)的区别
- [工具]网络流量控制软件NetLimiter
- C#开发Android App--01--准备工具
- 向前努力,才能不堕落
- STM32初学者补足基础知识(第15讲-软件如何硬件)
- 8个零代码数据爬取工具,不会Python也能轻松爬数!(附教程)