1. Eclipse工具New 选择Dynamic Web Project
点击下一步,注意勾选xml文件生成选项
在src中建立包com.itheima.webservice 可以看到项目的文件层级如下图
2. 创建最简单的HelloWorld接口
package com.itheima.webserver;
import javax.jws.WebService;
@WebService
public interface HelloWorld {
public String say(String name);
}
3 创建HelloWorld的实现类
package com.itheima.webservice;
import javax.jws.WebService;
@WebService
public class HelloWorldImpl implements HelloWorld {
@Override
public String say(String name) {
// TODO Auto-generated method stub
return "Hello " + name;
}
}
4. 将spring和cxf的相关jar文件拷入WEB-INF/lib目录中
5. 在WEF-INF目录下创建content.xml (Spring 的WebService注册文件,没有Spring插件的可以参见我的另外一篇文章安装Spring插件)
勾选对应的命名空间,Spring记得勾选对应的版本
在content.xml中注册WebService服务
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:jaxws="http://cxf.apache.org/jaxws"
xmlns:core="http://cxf.apache.org/core"
xmlns:jaxrs="http://cxf.apache.org/jaxrs"
xsi:schemaLocation="http://cxf.apache.org/jaxws
http://cxf.apache.org/schemas/jaxws.xsd
http://cxf.apache.org/core
http://cxf.apache.org/schemas/core.xsd
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
http://cxf.apache.org/jaxrs
http://cxf.apache.org/schemas/jaxrs-common.xsd">
<!-- 注册WebService服务 -->
<jaxws:server id="hello" address="/Hello" serviceClass="com.itheima.webservice.HelloWorld">
<jaxws:serviceBean>
<bean class="com.itheima.webservice.HelloWorldImpl"></bean>
</jaxws:serviceBean>
</jaxws:server>
</beans>
6. 配置web.xml文件
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
id="WebApp_ID" version="3.1">
<display-name>Web</display-name>
<!-- needed for ContextLoaderListener -->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/content.xml</param-value>
</context-param>
<!-- Bootstraps the root web application context before servlet initialization -->
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<servlet>
<servlet-name>cxf</servlet-name>
<servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>cxf</servlet-name>
<!-- WebService的相对的路径 -->
<url-pattern>/*</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
</web-app>
7. 发布网站WebService
在这里选择的是Tomcat 8环境
把Web项目双击,放置右边窗口进行发布
点击Finish后完成Web的部署,Web服务器处于Stopped停止状态,双击这里再次进行配置,下面子目录webapps作为发布目录
选择Use Tomcat installation 使用tomcat安装目录作为部署的目录
启动服务
打开浏览器输入Webservice的WSDL地址 http://127.0.0.1:8090/Web/Hello?wsdl 可以看到Webservice服务描述文件
以下通过建立一个Java工程进行WebService的测试
创建工程Web_Test 建立包com.itheima.test
打开cmd窗口,使用wsimport依据wsdl文件生成本地的java类
可以看到运行结果