关于webservice的开发有很多种方法,其中我认为最简单的就是用CXF。
CXF是apache的一个项目,与spring的整合也非常方便。
下面我就Spring+CXF开发webservice写个helloworld的例子:(项目放在附件中)
1、准备环境、开发工具:
jdk以及tomcat这边就不说了
(1)、cxf的下载:去apache的官网找到:apache-cxf-2.7.3,下载下来
(2)、将上面的文件夹放在一个路径下,配置环境变量:EXF_HOME:对应的路径、Path:在后面加",%EXF_HOME%/bin"(与jdk的配置一样),在cmd下输入wsdl2java,检测是否配好。(这边配环境主要是为了生成客户端用)
(3)、找出开发服务端所需的jar包,在apache-cxf-2.7.3下面的lib都有,但是里面的不是都需要,下图中是所需要的jar:
2、开发:
我用的是myeclipes+tomcat6
(1)、创建一个webproject
(2)、将上面准备的jar全部引入到工程中
(3)、配置环境:
添加web.xml配置:
<listener>
<!-- spring监听的配置 -->
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
classpath:ApplicationContext.xml
</param-value>
</context-param>
<servlet>
<servlet-name>CXFServlet</servlet-name>
<servlet-class>
org.apache.cxf.transport.servlet.CXFServlet
</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>CXFServlet</servlet-name>
<!-- 拦截service/..的URL,作为webservice处理 -->
<url-pattern>/services/*</url-pattern>
</servlet-mapping>
在src下面加入spring的配置(ApplicationContext.xml):
<?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"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd">
<!-- 引入以下3个关于CXF的资源文件,这三个文件在cxf.jar中 -->
<import resource="classpath:META-INF/cxf/cxf.xml" />
<import resource="classpath:META-INF/cxf/cxf-extension-soap.xml"/>
<import resource="classpath:META-INF/cxf/cxf-servlet.xml" />
</beans>
(4)、进行代码开发:(我用的是jdk自带的javax注解,注解的详细解释大家可以去看相关api,这边不做细说)
因为webservice都是通过接口对外发布的,所以一个webservice必须要有接口:
package com.dqm.demo.service;
import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebResult;
import javax.jws.WebService;
/**
* webservice接口
*
* @author dongqm
* @since 2013-2-26
* @lastChange $Author$
* @lastChangeDate $Date$
* @version $Rev$
*/
@WebService
public interface IHelloWorld {
@WebMethod(operationName = "SayHelloWorld")
@WebResult(name = "result")
public String sayHelloWorld(@WebParam(name="name") String name);
}
接口实现类:
package com.dqm.demo.service;
/**
* webservice接口实现类
*
* @author dongqm
* @since 2013-2-26
* @lastChange $Author$
* @lastChangeDate $Date$
* @version $Rev$
*/
public class HelloWorld implements IHelloWorld {
/*
* (non-Javadoc)
* @see com.dqm.demo.IHelloWorld#sayHelloWorld(String name)
*/
@Override
public String sayHelloWorld(String name) {
return name + "Say:Hello World!";
}
}
(4)、通过spring配置的方式对外发布:
在spring的配置文件(ApplicationContext.xml)中加入配置:
<jaxws:endpoint address="/Hello" implementorClass="com.dqm.demo.service.IHelloWorld">
<jaxws:implementor>
<bean class="com.dqm.demo.service.HelloWorld"/>
</jaxws:implementor>
</jaxws:endpoint>
(5)、代码开发完成,现在部署在tomcat上,运行tomcat:
输入URL:http://ip地址:tomcat端口/项目名称/services/Hello?wsdl
将会看到生成的wsdl文件,说明webservice发布成功。
3、webservice发布完成了,现在我们可以运用apache-cxf-2.7.3通过wsdl生成客户端:
在cmd下输入:"wsdl2java -p 生成java对象的包名 -d 生成文件放的路径 -client wsdl的URL",将wsdl文件生成java文件(即客户端代码)。
将生成的文件直接发在java工程下,就可以调用上面写的webservice了
我们可以直接将生成的文件打包成jar,然后导入到客户端项目中,就可以直接调用了,这样也省掉了写怎样调用webservice的代码的,方便吧,但是,如果是项目的最终版本,url最好用域名,如果用ip的话,一旦变动机器就要重新生成客户端的jar包了
相关推荐
本文将深入探讨如何使用Spring和CXF来发布WebService服务。 首先,Spring是一个开源的Java平台,它提供了全面的编程和配置模型,用于简化企业级应用的开发。Spring框架的核心特性包括依赖注入、面向切面编程(AOP)...
Web项目中基于Maven与Spring整合的WebService之cxf的实现⬇️ 详情请参考如下链接: https://locqi.github.io/locqi.com/2018/09/05/Eclipse+Maven+Spring+CXF-create-WebService/
这个项目"Spring+CXF+tomcat开发webservice"旨在教你如何利用这些技术搭建一个完整的Web服务环境,包括服务端和服务端客户端的实现。 **Spring** 是一个广泛使用的Java企业级应用开发框架,它提供了依赖注入(DI)...
【Spring+CXF请求WebService详解】 在Java开发领域,Spring框架以其强大的依赖注入和面向切面编程能力被广泛应用,而CXF则是一个优秀的开源服务开发框架,支持SOAP和RESTful服务。当Spring与CXF结合使用时,可以...
Spring + cxf = webservice 完整实例源码免费下载 完全免费。此资源仅为文档提供。 版权为百度文档 "Spring + cxf = webservice 完整实例源码免费下载" 所有。
【标题】"Spring+CXF 开发Web Service" 在Java世界中,开发Web服务的一个常见选择是使用Spring框架结合Apache CXF。Spring作为一个强大的轻量级框架,提供了丰富的功能,包括依赖注入、AOP(面向切面编程)以及企业...
在描述中提到的“WebService—CXF发布服务spring+cxf的doc文档”,意味着这个压缩包可能包含了关于如何使用Spring和CXF来发布Web服务的文档。这些文档通常会包含详细的步骤,指导开发者如何配置Spring XML配置文件,...
【Spring+cxf=WebService】是将Spring框架与Apache CXF集成来实现Web服务的一种常见方式。Spring是一个强大的Java企业级应用开发框架,它提供了一种模块化和灵活的方式来组织和管理应用程序的组件。而CXF则是一个...
通过Spring的ApplicationContext配置,我们可以管理CXF服务的生命周期,实现服务的发布和消费。 2. **创建WebService**: 使用CXF,首先需要定义服务接口,通常是一个Java接口,然后提供其实现。Spring会自动扫描...
ibatis+spring+cxf+mysql搭建webservice的客户端,文章地址在http://blog.csdn.net/cenyi2013/article/details/17315755. 服务端源码的下载地址在http://download.csdn.net/detail/cenyi2012/6712729
【标题】"mybatis+spring+cxf Webservice框架"是一个集成性的开发框架,它结合了三个主流的技术组件:MyBatis、Spring和Apache CXF,用于构建高效、灵活且易于维护的Web服务。MyBatis是一个优秀的持久层框架,Spring...
标签:spring boot、mybatis、restful、WebService、CXF 知识点: 1. 数据库设计:在本实验中,我们使用Mysql数据库来存储数据,并使用schema.sql脚本文件来创建数据库和表结构。在application.yml配置文件中,...
【标题】"maven+spring+cxf webservice demo"是一个基于Maven、Spring和CXF框架的Web服务示例项目,旨在展示如何整合这三个技术来创建和消费Web服务。Maven是项目管理和构建工具,Spring提供了强大的依赖注入和面向...
### 源码分析:Spring Boot + CXF 实现WebService服务端 #### 一、概述 随着企业级应用之间的交互需求日益增长,跨平台、跨语言的服务调用变得尤为重要。WebService作为一种成熟且广泛采用的技术标准,能够很好地...
调用webservice,插入数据,整合druid监控数据源;... webservice配置文件在spring-mvc.xml和web.xml中; 数据库监控地址http://localhost:8080/taixingMsg/druid/index.html... 各位同仁,生命不止,奋斗不息
springboot+cxf实现webservice示例 <groupId>org.springframework.boot <artifactId>spring-boot-starter <groupId>org.springframework.boot <artifactId>spring-boot-starter-web <!-- CXF ...
第一天: 什么是webservice? 从案例(便民查询网站)分析如何实现? 使用socket实现。 使用jaxws开发webservice。 Webservice三要素 ... CXF发布rest的webservice。(重点) 综合案例: 实现便民查询网站
标题中的“Spring+cxf=webservice 的jar包2”表明这是一个与Spring框架和Apache CXF相关的Web服务实现项目。在Java开发中,Spring是一个广泛使用的轻量级框架,用于简化企业级应用的开发,而CXF则是一个开源的服务栈...
本教程将基于"Spring+CXF开发WebService源代码"的主题,深入探讨如何利用这两者创建和消费Web服务。 首先,Spring是一个开源的应用框架,提供了一个全面的编程和配置模型,适用于Java应用程序。它为开发企业级应用...