【webservice】JAX-WS独立服务使用

建立maven Java项目,在项目中导入CXF jar包的支持,要提供jaxws服务,就引入jaxws的jar包,要提供jaxrs服务,就要引入jaxrs的jar包。

使用maven坐标

<!--要进行jaxws服务开发-->
<dependency><groupId>org.apache.cxf</groupId><artifactId>cxf-rt-frontend-jaxws</artifactId><version>3.0.1</version>
<dependency>
<!--内置jetty web服务器-->
<dependency><groupId>org.apache.cxf</groupId><artifactId>cxf-rt-transports-http-jetty</artifactId><version>3.0.1</version>
</dependency>

查看完整日志

<!--日志实现-->
<dependency><groupId>org.slf4j</groupId><artifactId>slf4j-log4j12</artifactId><version>1.7.12</version>
</dependency>

要使用日志,同时需要导入log4j.properties配置文件.

编写服务端程序。编写实体类

public class User{private Integer id;private String username;private Sting city;private List<Car> cars = new ArrayList<Car>();
}
public class Car{private Integer id;private String carName;private Double price;
}

编写服务

@WebService
public interface IUserService {@WebMethodpublic String sayHello(String name);@WebMethodpublic List<Car> findCarsByUser(User user);
}

@WebService使用在类上面,标记类是WebService服务提供对象;

@WebMethod使用在方法上面,标记方法是WebService服务的提供方法。

服务实现

@WebService(endpointInterface = "cn.nwtxxb.cxf.services.IUserService",serviceName="userService")
public class UserServiceImpl implements IUserService {//简单参数传递public String sayHello(String name){return "hello,"+name;}//复杂参数传递public List<Car> findCarsByUser(User user){if("xiaoming").equals(user.getUsername()){List<Car> cars = new ArrayList<Car>();Car car1 = new Car();car1.setId(1);car1.setName("凯迪拉克");car1.setPrice(200000d);cars.add(car1);}}
}

@WebService注解设置endPointInterface接口服务完整类名,servicename是服务名称。

想将UserService的服务方法发布到网络上,供其他系统调用。

public static void main(String[] args){//使用CXF将UserService服务注册到网络上//1.服务的实现对象IUserService userService = new UserServiceImpl();//2.发布服务的地址String address = "http://localhost:9999/userService";//3.发布服务的地址Endpoint.publish(address,userService);System.out.println("服务已经启动...");
}

访问网址:http://localhost:9999/userService?wsdl

编写客户端操作

public static void main(String[] args){//编写客户端 调用发布WebService服务JaxWsProxyFactoryBean jaxWsProxyFactoryBean = new JaxProxyFactoryBean();jaxWsProxyFactoryBean.setServiceClass(IUserService.class);jaxWsproxyFactoryBean.setAddress("http://localhost:9999/userService");//创建调用远程服务代理对象IUserService proxy = (IUserService)jaxWsProxyFactoryBean.create();//调用代理对象的任何一个方法,都将通过网络调用web服务System.out.println(proxy.sayHello("你我他学习吧"));

【webservice】JAX-WS独立服务使用相关推荐

  1. spring和maven_具有Spring和Maven教程的JAX–WS

    spring和maven Spring框架通过JAX-WS提供对Web服务的远程支持,实际上,如Spring 参考文档中所述 ,有三种将Spring POJO服务公开为JAX-WS Web服务的方式: ...

  2. 带有Spring和Maven教程的JAX–WS

    Spring框架通过JAX-WS提供对Web服务的远程支持,实际上,如Spring 参考文档中所述 ,有三种将Spring POJO服务公开为JAX-WS Web服务的方式: 公开基于Servlet的 ...

  3. websocket测试工具,支持ws wss服务端和客户端

    介绍一个名为:WebsocketMan的websocket测试工具,支持ws wss服务端和客户端.可以将请求保存为文件,支持header非常方便测试.支持Windows Linux macOS系统. ...

  4. jax ws ri 生成java类_JAX-WS(一)之使用wsgen从Java创建简单的WebService

    概念 JAX-WS2.0的全称Java API for XML-Based Web Service 2.0.JAX-WS2.0是对JAX-RPC1.0规范的扩展,是JAX-RPC1.1的后续版本,JA ...

  5. (二)WebService之调用soap服务

    引言 利用wsimport进行soap服务进行调用 1注意的地方 当解析本地的wsdl文件时需要修改生成的java文件内部的wsdl地址为在线的wsdl地址例如解析在线的天气预报服务 通过UrlCon ...

  6. WebService(1) 调用第三方服务

    网上有很多的免费WebService 服务,我们可以调用这些免费的WebService服务,将一些其他网站的内容信息集成到我们的Web项目中显示,下面就以查询国内手机号码归属地为例进行说明 进入 ht ...

  7. WebService入门教程(服务端发布WebService)

    本篇内容过多,时间紧迫的朋友可以通过目录快速筛选自己想要看的内容,本人接触webservice也没多久,也处于学习阶段,如果有错误请指正,如果已经是大神请略过这篇文章,这篇文章不涉及webservic ...

  8. java webservice用户验证_java webservice 用户验证 (服务端 + 客户端)

    说明:在网上找了一堆 handler验证的东东,试验了一下,没成功. 现在换了一种方式:在 tomcat的配置文件中添加用户角色和用户信息 然后在 webservice的项目配置文件中增加对应的角色. ...

  9. php是独立服务吗,在LNMP服务器中,PHP是作为一个独立的服务存在的,这个服务叫做_______。...

    [单选题]在采用收取手续费方式委托代销商品时,委托方确认销售商品收入的时点为( ). [判断题]全盘复制法主要适合同行业的企业,特别是细分市场.目标客户.主要产品相近或相同的企业. [多选题]定额按实 ...

最新文章

  1. 投稿人就是AI顶会最好的「审稿人」!中国学者提出同行评审新机制
  2. 一条sql语句统计一个字段的不同条件, 无需过多子查询
  3. c语言中词法分析怎么识别注释,C语言中的词法分析-如何在检测多行注释时使星号被读取并输出?...
  4. Java开源CMS系统
  5. Simulink 搭建模型【MATLAB官网帮助】
  6. keil(MDK) 5官方下载教程
  7. VIM 插件管理工具——vim-plug
  8. HDU 6514 2019中山大学程序设计竞赛(二维前缀和)
  9. php永久mediaid,幺蛾子事件之-zabbix配置告警媒介报错mediaid重复
  10. 【20191001】国庆七天长假安排
  11. artifactIdsolace-spring-boot-starter/artifactId
  12. 计量经济学及Stata应用案例(一)
  13. python将矩阵顺时针旋转90度_python实现顺时针打印矩阵
  14. 在安卓手机上运用AidLux实现人流检测数据统计
  15. JAVA String.format详解
  16. 2016届蓝桥杯省赛B组 第5题 勾股定理
  17. java面向对象知识点整理--用前人智慧,为后人铺路
  18. flink时间窗口无新的数据进来最后一个窗口不关闭
  19. STM32启动文件和链接脚本
  20. c语言,%d %.2d %2d %02d的区别

热门文章

  1. 【NLP】几个NLP实用工具:不用重新造轮子
  2. AI基础:特征工程-文本特征处理
  3. 好玩的deep dream(清晰版,pytorch完整代码)
  4. 简单安装Harbor私有镜像仓库
  5. 1024程序员福利日 | 网易云送暖心礼包,只要你是程序员
  6. 破冰接入云信,打造陌生人游戏社交APP
  7. html----input标签
  8. NOIP2008 双栈排序
  9. ADVA收购Overture 扩张NFV产品线
  10. 并发集合(二)使用非阻塞线程安全的列表