- 浏览: 17101 次
- 性别:
- 来自: 北京
文章分类
最新评论
我们的环境是eclipse , maven。
在开发java webservice时,有两个比较流行的框架:axis2和cxf。cxf可以无缝的和spring集成,而axis2需要打包成aar文件,在tomcat下面跑。于是我们选择了cxf开发webservice。
下面一步步的介绍用cxf开发服务端和客户端的例子。
首先开发服务端:
一:在pom.xml文件中加入依赖:
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-api</artifactId>
<version>2.5.0</version>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-frontend-jaxws</artifactId>
<version>2.5.0</version>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-bindings-soap</artifactId>
<version>2.5.0</version>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-transports-http</artifactId>
<version>2.5.0</version>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-ws-security</artifactId>
<version>2.5.0</version>
</dependency>
然后会在maven dependencies文件夹中看到引用的jar包
二:开发服务的接口类和实现类
首先接口类:
package com.mycompany.webservice.server;
import javax.jws.WebService;
@WebService
public interface Greeting {
public String greeting(String userName);
}
然后实现类:
package com.mycompany.webservice.server;
import java.util.Calendar;
import javax.jws.WebService;
@WebService(endpointInterface = "com.mycompany.webservice.server.Greeting")
public class GreetingServiceImpl implements Greeting {
public String greeting(String userName) {
return "Hello " + userName + ", currentTime is "
+ Calendar.getInstance().getTime();
}
}
注意上面实现类的endpointInterface的接口类路径不要写错,否则会报Could not load Webservice SEI
服务端的代码开发就到此了。下面要配置文件。
在application.xml中:
添加
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:cache="http://www.springframework.org/schema/cache"
xmlns:p="http://www.springframework.org/schema/p"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:jaxws="http://cxf.apache.org/jaxws"
xsi:schemaLocation="
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-3.2.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-3.2.xsd
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.2.xsd
http://www.springframework.org/schema/cache
http://www.springframework.org/schema/cache/spring-cache-3.2.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/cache/spring-context-3.2.xsd
http://cxf.apache.org/jaxws
http://cxf.apache.org/schemas/jaxws.xsd"
default-autowire="byName" default-lazy-init="true">
<!--实现类的bean,需要spring注入 -->
<bean id="greetingServiceImpl" class="com.mycompany.webservice.server.GreetingServiceImpl"/>
<jaxws:endpoint id="greetingService" implementor="#greetingServiceImpl" address="/Greeting" />
在web.xml中:
添加
<servlet>
<servlet-name>CXFServlet</servlet-name>
<servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>CXFServlet</servlet-name>
<!--==这个设置很重要,那么我们的webservice的地址就是http://localhost:8080/yourProgramName/webservice/Greeting===-->
<url-pattern>/webservice/*</url-pattern>
</servlet-mapping>
好了。到此我们的服务端就开发好了。。
就可以通过http://localhost:8080/yourProgramName/webservice/Greeting?wsdl 访问看到我们的wsdl了。
下面开发我们的客户端,来调用上面的服务。
package com.mycompany.webservice.client;
import org.apache.cxf.jaxws.JaxWsProxyFactoryBean;
public class GreetingServiceClient {
public static void main(String[] args) {
//创建WebService客户端代理工厂
JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean();
//注册WebService接口
factory.setServiceClass(Greeting.class);
//设置WebService地址
factory.setAddress("http://localhost:8080/yourProgramName/webservice/Greeting");
Greeting greetingService = (Greeting)factory.create();
System.out.println("invoke webservice...");
System.out.println("message context is:"+greetingService.greeting("gary"));
}
}
好了客户端也开发完成。
在开发java webservice时,有两个比较流行的框架:axis2和cxf。cxf可以无缝的和spring集成,而axis2需要打包成aar文件,在tomcat下面跑。于是我们选择了cxf开发webservice。
下面一步步的介绍用cxf开发服务端和客户端的例子。
首先开发服务端:
一:在pom.xml文件中加入依赖:
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-api</artifactId>
<version>2.5.0</version>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-frontend-jaxws</artifactId>
<version>2.5.0</version>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-bindings-soap</artifactId>
<version>2.5.0</version>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-transports-http</artifactId>
<version>2.5.0</version>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-ws-security</artifactId>
<version>2.5.0</version>
</dependency>
然后会在maven dependencies文件夹中看到引用的jar包
二:开发服务的接口类和实现类
首先接口类:
package com.mycompany.webservice.server;
import javax.jws.WebService;
@WebService
public interface Greeting {
public String greeting(String userName);
}
然后实现类:
package com.mycompany.webservice.server;
import java.util.Calendar;
import javax.jws.WebService;
@WebService(endpointInterface = "com.mycompany.webservice.server.Greeting")
public class GreetingServiceImpl implements Greeting {
public String greeting(String userName) {
return "Hello " + userName + ", currentTime is "
+ Calendar.getInstance().getTime();
}
}
注意上面实现类的endpointInterface的接口类路径不要写错,否则会报Could not load Webservice SEI
服务端的代码开发就到此了。下面要配置文件。
在application.xml中:
添加
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:cache="http://www.springframework.org/schema/cache"
xmlns:p="http://www.springframework.org/schema/p"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:jaxws="http://cxf.apache.org/jaxws"
xsi:schemaLocation="
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-3.2.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-3.2.xsd
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.2.xsd
http://www.springframework.org/schema/cache
http://www.springframework.org/schema/cache/spring-cache-3.2.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/cache/spring-context-3.2.xsd
http://cxf.apache.org/jaxws
http://cxf.apache.org/schemas/jaxws.xsd"
default-autowire="byName" default-lazy-init="true">
<!--实现类的bean,需要spring注入 -->
<bean id="greetingServiceImpl" class="com.mycompany.webservice.server.GreetingServiceImpl"/>
<jaxws:endpoint id="greetingService" implementor="#greetingServiceImpl" address="/Greeting" />
在web.xml中:
添加
<servlet>
<servlet-name>CXFServlet</servlet-name>
<servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>CXFServlet</servlet-name>
<!--==这个设置很重要,那么我们的webservice的地址就是http://localhost:8080/yourProgramName/webservice/Greeting===-->
<url-pattern>/webservice/*</url-pattern>
</servlet-mapping>
好了。到此我们的服务端就开发好了。。
就可以通过http://localhost:8080/yourProgramName/webservice/Greeting?wsdl 访问看到我们的wsdl了。
下面开发我们的客户端,来调用上面的服务。
package com.mycompany.webservice.client;
import org.apache.cxf.jaxws.JaxWsProxyFactoryBean;
public class GreetingServiceClient {
public static void main(String[] args) {
//创建WebService客户端代理工厂
JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean();
//注册WebService接口
factory.setServiceClass(Greeting.class);
//设置WebService地址
factory.setAddress("http://localhost:8080/yourProgramName/webservice/Greeting");
Greeting greetingService = (Greeting)factory.create();
System.out.println("invoke webservice...");
System.out.println("message context is:"+greetingService.greeting("gary"));
}
}
好了客户端也开发完成。
发表评论
-
SpringMVC+ajaxFileUpload上传图片 IE浏览器弹下载框问题解决方案
2017-05-08 08:42 314SpringMVC+ajaxFileUpload上传图片 IE ... -
网站架构之架构演化
2017-03-30 13:50 350http://www.cnblogs.com/pflee/p/ ... -
线程,
2017-03-10 09:07 345http://www.cnblogs.com/wxd0108/ ... -
springmvc<一>一种资源返回多种形式【ContentNegotiatingViewResolver】
2017-03-01 09:53 434springmvc<一>一种资源返回多种形式【Co ... -
<context-param>与<init-param>的区别与作用(转载)
2017-02-28 13:45 396<context-param>的作用: web.x ... -
sqlserver日期格式化函数
2016-09-21 10:16 466Sql Server 中一个非常强大的日期格式化函数 ... -
http://blog.csdn.net/zuoluoboy/article/details/19766131(转载)
2016-07-12 10:04 888Spring工作流程描述 ... -
玩转cookie(转载度娘http://jingyan.baidu.com/article/7c6fb4281f4e5580642c90d0.html)
2015-11-09 10:53 743怎么在java中增加一个cookie; 怎么在java中修改 ... -
jquery插件开发(http://www.poluoluo.com/jzxy/201204/163035.html)
2015-01-25 21:40 531一.介绍 插件编写的目 ... -
hibernate各种查询汇总(转载)
2014-12-23 15:16 3681. 查询整个映射对象所有字段 Java代码 // ... -
hibernate各种查询汇总(转载)
2014-12-23 15:16 01. 查询整个映射对象所有字段 Java代码 // ... -
JAVA多线程实现和应用总结(转载自http://www.cnblogs.com/yezhenhan/archive/2012/01/09/2317636.)
2014-12-22 15:27 516JAVA多线程实现和应用总 ... -
ResultSet rs 之 rs.next()(转载自百度一哥们)
2014-12-16 15:10 844ResultSet rs是结果集。查询出的记录是一个列表,初始 ... -
ResultSet rs 之 rs.next()
2014-12-16 15:10 843ResultSet rs是结果集。查询出的记录是一个列表,初始 ... -
java substring
2014-12-15 17:12 529java substring 方法 str=str.subst ... -
PLSQL插入数据中文乱码的问题(转)
2014-11-26 16:33 3940PLSQL插入数据中文乱码的问题 www.111cn.net ... -
遍历Map的四种方法 (转载)
2014-11-25 10:21 409public static void main(String[ ... -
sql执行顺序
2014-10-08 09:57 336SQL Select语句完整的执行顺序:1、from子句组装来 ... -
jms简明学习教程(转载)
2014-09-04 15:55 446基础篇 JMS是应用系统或组件之间相互通信的应用程序接口,利 ... -
MYSQL数据库事务处理和锁机制(转载)
2014-09-03 14:37 801一、数据库事务的百科 数据库事务(Database Tran ...
相关推荐
总的来说,"webservice使用cxf的实例"这个主题涵盖了从基础理论到实际操作的各个环节,包括CXF框架的使用、Web服务的创建与部署、客户端调用、数据绑定、安全性和Spring集成等多个方面。通过学习和实践,开发者可以...
5. **创建客户端**:同样,使用CXF工具从WSDL生成客户端代理类,然后实例化并调用服务。 **五、CXF文件结构** 在"webService api"这个压缩包中,可能包含以下内容: 1. **WSDL文件**:描述服务接口和消息格式的...
在本实例中,我们将探讨如何使用Eclipse IDE和Apache CXF来创建和发布一个简单的Web服务。首先,确保你已经安装了Eclipse IDE和Apache CXF的插件。这些插件通常可以在Eclipse Marketplace中找到,通过搜索"CXF"进行...
简单的webservice+Cxf+Spring数据对接实例以及jar.rar简单的webservice+Cxf+Spring数据对接实例以及jar.rar简单的webservice+Cxf+Spring数据对接实例以及jar.rar简单的webservice+Cxf+Spring数据对接实例以及jar.rar...
此方法用于加载CXF的Bus实例,这是CXF框架的核心组件之一。 #### 二、服务端配置与实现 ##### 1. POJO类定义 - **实体类**:创建一个简单的POJO类`BigData`,用于封装数据。 ##### 2. 定义接口 - **接口声明**:...
本文将深入探讨如何在CXF中进行对象传递,并结合相关代码实例来帮助理解。 1. **CXF简介** CXF(Code first eXtended Framework)是一个Java Web服务框架,它提供了从Java类创建Web服务以及从WSDL创建Java服务端点...
综上所述,"WebService CXF、 Mybatis简单实例"是一个结合了Web服务开发、数据库操作以及依赖管理和事务控制的综合示例。这个实例对初学者来说是一份很好的学习资料,可以帮助他们理解这些技术的使用方式以及如何在...
在本例中,“webservice天气预报例子cxf实例”指的是使用Apache CXF框架实现的一个天气预报相关的Web服务示例。 Apache CXF是一个开源框架,它为开发和部署Web服务提供了全面的支持。CXF允许开发者通过Java编程模型...
在这个"CXF WebService实例"中,我们将深入探讨如何使用CXF进行Web服务的开发,以及涉及到的一些关键知识点。 首先,让我们从最基础的"HelloWorld"例子开始。在Java中,创建一个CXF WebService的"HelloWorld"示例...
【描述】:在这个“webservice之cxf实例”中,我们将深入学习Apache CXF框架在实现Web服务中的具体操作。首先,我们需要了解CXF的基本概念,它作为一个服务端和客户端的栈,支持多种协议和标准,包括SOAP、RESTful、...
Java WebService CXF客户端调用和服务端的实现是企业级应用程序中常见的通信方式,它基于标准的SOAP(Simple Object Access Protocol)协议,提供了一种在分布式环境中交换信息的方法。CXF是一个开源框架,它简化了...
Spring + cxf = webservice 完整实例源码免费下载 完全免费。此资源仅为文档提供。 版权为百度文档 "Spring + cxf = webservice 完整实例源码免费下载" 所有。
【标题】:Webservice CXF 整合Spring的实例源码解析 在Web服务开发中,Apache CXF是一个广泛使用的开源框架,它提供了创建、部署和管理Web服务的强大功能。CXF不仅支持SOAP,还支持RESTful API,使得开发者能够...
在IT行业中,Web服务是一种广泛使用的通信协议,它允许不同...Apache CXF提供了一套强大的工具和API,使得开发Web服务客户端变得更加简单和灵活。理解并熟练掌握这些步骤,将有助于你在开发过程中节省时间和提高效率。
Spring MVC、WebService(CXF)和Maven是Java开发中常用的三大技术,它们在构建现代企业级应用中扮演着重要角色。本实例结合这三者,提供了一个完整的可运行项目,便于开发者快速理解和实践。 首先,Spring MVC是...
例如,使用`@WebService`注解标记服务类,使用`@WebMethod`标记服务方法,然后通过CXF的Servlet或Spring的ApplicationContext来发布服务。 4. **返回List类型数据**:在Web服务中,你可以返回一个List类型的集合,...
【描述】提到的"Webservice CXF Jar包"在没有进行冗余检查的情况下,包含了一系列必要的jar文件,能够实现一个简单的Web服务DEMO并成功运行。这表明这些库文件提供了基本的功能,足以支持一个基础的Web服务实例。 ...
SSH整合CXF Webservice实例详解 在Java世界中,SSH(Spring、Struts、Hibernate)是一种常见的企业级应用开发框架组合,它提供了强大的MVC(Model-View-Controller)架构支持,以及持久层管理和业务逻辑处理。而CXF...
- **依赖注入**:CXF 可以利用 Spring 的依赖注入(DI)特性,将服务实例注入到需要使用它们的其他组件中,提高了代码的可维护性和灵活性。 - **事务管理**:结合 Spring 的事务管理,可以方便地处理 Web 服务中的...
【标题】:CXF Web服务框架的简单应用 在IT领域,Web服务是不同系统间进行数据交换和交互的一种标准方式。Apache CXF是一个开源框架,它提供了创建和消费Web服务的强大工具。本教程将围绕“CXF Web服务的简单使用”...