热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

使用cxf实现webService服务端,附加客户端测试

server端:第一步:增加maven依赖org.apache.cxf

server端:

第一步:增加maven依赖

org.apache.cxfcxf-core3.2.4org.apache.cxfcxf-rt-frontend-jaxws3.2.4org.apache.cxfcxf-rt-transports-http3.2.4org.apache.cxfcxf-rt-transports-http-jetty3.2.4

第二步:创建需要发布的接口和方法

@WebService
public interface VehicleInfoServer {// 接收单条public String writeVehicleInfo(TempVehicleInfo dVehicleInfo);// 批量接收public String writeVehicleInfos(List list);
}

第三步:创建接口的实现类

@WebService
public class VehicleInfoServerImpl implements VehicleInfoServer {public String writeVehicleInfo(TempVehicleInfo dVehicleInfo) {try {System.out.println("服务端被请求了一次.........................." + dVehicleInfo.toString());return ReturnCode.SUCCESS;} catch (Exception e) {return e.getMessage();}}public String writeVehicleInfos(List list) {for (TempVehicleInfo t : list) {System.out.println(t.toString());}try {System.out.println("服务端被请求了一次.........................." + list.size());return ReturnCode.SUCCESS;} catch (Exception e) {return e.getMessage();}}}

第三步:将接口中的方法发布出去

@Service
public class PublishWebService implements InitializingBean{private static final Logger LOGGER = Logger.getLogger(PublishWebService.class);@Overridepublic void afterPropertiesSet() throws Exception {try {//发布的端口号不可以和tomcat服务的端口号一致,端口号后面的内容想加什么就加什么Endpoint.publish("http://127.0.0.1:8280/service/dataEngine/vehicleInfoService",new VehicleInfoServerImpl());LOGGER.info(".................发布过车记录数据服务webServer成功!...................");}catch(Exception e) {LOGGER.error(".................发布过车记录数据webServer失败!错误信息为"+e);}}

第四步:启动maven工程即可

 

client端:

public class TestWriteVehicleInfo {public static void main(String[] args) {String url &#61; "http://127.0.0.1:8280/service/dataEngine/vehicleInfoService?wsdl";//这种方式的客户端不支持axis2的server端JaxWsProxyFactoryBean jaxWsProxyFactoryBean &#61; new JaxWsProxyFactoryBean();jaxWsProxyFactoryBean.setAddress(url);jaxWsProxyFactoryBean.setServiceClass(VehicleInfoServer.class);VehicleInfoServer dVehicleService &#61; (VehicleInfoServer) jaxWsProxyFactoryBean.create();testSingleData(dVehicleService);testListData(dVehicleService);}public static void testSingleData(VehicleInfoServer dVehicleService) {TempVehicleInfo dVehicleInfo &#61; new TempVehicleInfo();dVehicleInfo.setHphm("津A12345");dVehicleInfo.setHpzl("01");dVehicleInfo.setKkbh("KK00000001");dVehicleInfo.setSbbh("SB99999999");dVehicleInfo.setTp1("http://isilon.whjgj.com/3334-TP1.jpg");dVehicleInfo.setGcsj("20190514140728180");dVehicleInfo.setTp2("http://isilon.whjgj.com/3334-TP2.jpg");String result &#61; dVehicleService.writeVehicleInfo(dVehicleInfo);System.out.println(result);}public static void testListData(VehicleInfoServer dVehicleService) {List list &#61; new ArrayList<>();for(int i&#61;0;i<5;i&#43;&#43;) {TempVehicleInfo dVehicleInfo &#61; new TempVehicleInfo();dVehicleInfo.setHphm("津A1234"&#43;i);dVehicleInfo.setHpzl("01");dVehicleInfo.setKkbh("KK0000000"&#43;i);dVehicleInfo.setSbbh("SB99999999");dVehicleInfo.setTp1("http://isilon.whjgj.com/3334-TP1.jpg");dVehicleInfo.setGcsj("20190514140728180");dVehicleInfo.setTp2("http://isilon.whjgj.com/3334-TP2.jpg");list.add(dVehicleInfo);}String result &#61; dVehicleService.writeVehicleInfos(list);System.out.println(result);}}

 


推荐阅读
author-avatar
萱萱loveTFOOYS
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有