1.是什么
1. 什么是Web Service呢?从表面上看,WebService就是一个应用程序,它向外界暴露出一个能够通过Web 进行调用的API。这就是说,你能够用编程的方法通过Web调用来实现某个功能的应用程序。从深层次上看,Web Service是一种新的Web应用程序分支,它们是自包含、自描述、模块化的应用,可以在网络(通常为Web)中被描述、发布、查找以及通过Web来调用。
2.Web Service便是基于网络的、分布式的模块化组件,它执行特定的任务,遵守具体的技术规范,这些规范使得Web Service能与其他兼容的组件进行互操作。它可以使用标准的互联网协议,像超文本传输协议HTTP和XML,将功能体现在互联网和企业内部网上。WebService平台是一套标准,它定义了应用程序如何在Web上实现互操作性。你可以用你喜欢的任何语言,在你喜欢的任何平台上写Web Service。
3.WebService 为Internet 上的组件服务•通过网络提供,以URL 定位方法调用•以Internet技术为基础•未來的分散式应用程序
与httpclient的简单的区别
1. HTTP 协议可能是现在 Internet 上使用得最多、最重要的协议了,越来越多的 [Java](http://lib.csdn.net/base/17) 应用程序需要直
接通过 HTTP 协议来访问网络资源。
HttpClient用来调用服务,它是模拟一个浏览器,发送Http的请求,服务器会返回请求的一个响应结果, Httpclient然后把响应的结果取出来。HttpClinet相当于一个客户端,
使用Http协议调用系统中的方法
HttpClient 是 Apache Jakarta Common 下的子项目,用来提供高效的、最新的、功能丰富的支持 HTTP 协议的客户端编程工具包,并且它支持 HTTP 协议最新的版本和建议。
1:服务端
https://www.cnblogs.com/atuotuo/p/6241025.html
https://blog.csdn.net/lichuangcsdn/article/details/77921033
1.CXF依赖包
<!-- 添加CXF dependency -->
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-core</artifactId>
<version>3.1.5</version>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-frontend-jaxws</artifactId>
<version>3.1.5</version>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-transports-http</artifactId>
<version>3.1.5</version>
</dependency>
2.修改 web.xml
<servlet>
<servlet-name>CXFServlet</servlet-name>
<servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class>
</servlet>
<!--==这个设置很重要,那么我们的webservice的地址就是http://localhost:8080/yourProgramName/webservice/impl=== -->
<servlet-mapping>
<servlet-name>CXFServlet</servlet-name>
<url-pattern>/webservice/*</url-pattern>
</servlet-mapping>
3.Spring配置文件
添加xmlns和xsi:schemaLocation
xmlns:jaxws="http://cxf.apache.org/jaxws"
http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd
4.在spring配置文件
引入CXF自带xml文件
cxf-servlet.xml 在 cxf-rt-transports-http jar 里面;
cxf.xml 在 cxf-rt-core jar 里面;
简单来说的话,我们只需要在Maven的POM.xml文件中引入这两个依赖即可
cxf-rt-frontend-jaxws
cxf-rt-transports-http
5.定义接口及实现类
接口与实现类需要放在一起,且需要在类上标明@WebService注解
6.添加注解
在实现类中添加 “@Component(“helloUser”)” 注解
并且修改Spring配置文件,利用Spring管理实现类
<context:component-scan base-package="" /> 扫描包中的component
7.暴露接口
修改Spring配置文件,暴露webservice的endpoint
<jaxws:endpoint implementor="#helloUser" address="/helloUser"/>#后的是@Component(“helloUser”)里面的值 /后的值随意起名字有意义就行
可以显示参数的名字
@WebParam(name="name")String name,
2:客户端
引入Spring和CXF相关jar包
调用命令:wsdl2java -p com.mr.service -client wsdl路径
在Spring配置文件中添加<jaxws:client id="" serviceClass="" address="" ></jaxws:client标签