您的位置:首页 > 编程语言 > Java开发

Spring与CXF整合

2015-11-03 22:48 537 查看
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类



可以看到运行结果

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  eclipse java webservice