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);}}