为了了解WebService,在网上找了组视频连续的看了几天,收获良多。
基本上对JAX-WS接口规范基础有所了解,以及Java开发Webservice的整体步骤。
视频资源地址:
http://www.verycd.com/topics/2917293/
确实将得挺好的,可以学习下。
看完我就想找个框架了解下,由于CXF可以与Spring无缝整合,就选择其作为入口。
下面是我的第一个实例:
--服务器端
1.导入Web项目所需要的jar包
2.web.xml文件的编写
<servlet>
<servlet-name>CXFServlet</servlet-name>
<servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class>
<load-on-startup>0</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>CXFServlet</servlet-name>
<url-pattern>/cxftest/*</url-pattern>
</servlet-mapping>
3.编写接口Login接口
package com.example.service;
import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebService;
@WebService
public interface Login {
@WebMethod
public String login(@WebParam(name="name") String name, @WebParam(name="password")String password);
}
4.编写接口的实现类LoginImpl (注意Annotation的配置)
package com.example.service.impl;
import javax.jws.WebService;
import com.example.service.Login;
@WebService(endpointInterface="com.example.service.Login",serviceName="Login")
public class LoginImpl implements Login {
public String login(String name, String password) {
String result = "登录CXF服务器成功。。。";
if(!"cxf".equalsIgnoreCase(name) || !"cxf".equalsIgnoreCase(password)){
return "账号密码错误。";
}
return result;
}
}
5.创建一个Servlet实例(InitServlet)来发布接口
package com.example.startup;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import org.apache.cxf.jaxws.JaxWsServerFactoryBean;
import com.example.service.impl.LoginImpl;
public class InitServlet extends HttpServlet {
public void init() throws ServletException {
LoginImpl loginImpl = new LoginImpl();
JaxWsServerFactoryBean jaxFactory = new JaxWsServerFactoryBean();
jaxFactory.setAddress("/Login");
jaxFactory.setServiceClass(LoginImpl.class);
jaxFactory.setServiceBean(loginImpl);
jaxFactory.create();
System.out.println("InitServlet...");
}
}
6.InitServlet在Web.xml中的配置
<servlet>
<servlet-name>InitServlet</servlet-name>
<servlet-class>com.example.startup.InitServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>InitServlet</servlet-name>
<url-pattern>/init</url-pattern>
</servlet-mapping>
7.在浏览器地址栏中输入http://localhost:8080/cxf_002/cxftest/Login?wsdl
出现wsdl的xml文件信息。
--客户端测试代码
1.在服务开启的情况下使用wsimport工具根据生成客户端代码
(wsimport -d d:/service/04 -keep -verbose http://localhost:8080/cxf_002/cxftest/Login?wsdl)
或者使用CXF 自带的工具wsdl2java (wsdl2java -d:/service/04 -client http://localhost:8080/cxf_002/cxftest/Login?wsdl)
2.将impl包中的Login.java拷贝至测试客户端中
3.使用Main方法测试接口的实现
package com.example.start;
import org.apache.cxf.jaxws.JaxWsProxyFactoryBean;
import com.example.service.impl.Login;
public class LoginTest {
public static void main(String[] args) {
JaxWsProxyFactoryBean jaxFactory = new JaxWsProxyFactoryBean();
jaxFactory.setAddress("http://localhost:8080/cxf_002/cxftest/Login?wsdl");
jaxFactory.setServiceClass(Login.class);
Login login = (Login)jaxFactory.create();
String result = login.login("cxf", "cxf");
System.out.println("结果:"+result);
}
}
下面附上示例源码(注意需要引入CXF的jar文件):
分享到:
相关推荐
做开发时,查了大量资料,发现一比较全面的资料,分享一下!...WebService CXF学习——高级篇(一)(二) 1.整合Spring框架 2.CXF+Spring+Hibernate 3.WS-Security WebService CXF学习——JAXB剖析
Apache CXF是一个开源的Web服务框架,主要用于构建和部署SOAP(简单对象访问协议)和RESTful(Representational State Transfer)服务。它是一个高度可扩展且功能丰富的工具,旨在简化服务的开发过程,同时提供对...
【标题】"cxf经典学习资料-1"指的是Apache CXF框架的学习资源,这是一个用于构建和开发Web服务的开源项目。CXF允许开发者通过简单的API来创建和消费Web服务,支持多种协议和标准,如SOAP、RESTful API、WS-*等。 ...
### CXF应用整理学习资料详解 #### 一、CXF简介与HelloWorld示例 Apache CXF是一个开源的框架,用于构建和消费基于SOAP、XML、REST等协议的Web服务。CXF支持JAX-WS和JAX-RS标准,为Java开发人员提供了丰富的API,...
这份资料集合了CXF的核心概念、配置、扩展以及与其他技术的集成,对于希望深入学习Web服务,特别是基于CXF框架的开发者来说,是一份非常有价值的资源。 【描述】"webservice经典学习资料,内容丰富,首先资料"表明...
【CXF学习-环境搭建】 Apache CXF 是一个开源的Java框架,主要用于构建和服务导向架构(SOA)的应用程序。它提供了多种方式来创建和消费Web服务,包括基于SOAP和RESTful风格的服务。本篇文章将重点讲解如何进行CXF...
【CXF学习小例子】是针对Java开发人员的一个实践教程,特别适合初学者。CXF是一个开源的服务框架,它允许开发者构建和消费各种Web服务。这个压缩包包含了一个实际的CXF示例项目以及作者的学习笔记,可以帮助我们深入...
【WebService的实现——CXF学习笔记】 在Java世界中,WebService是一种通过标准协议(如SOAP)进行跨平台、跨语言通信的技术。CXF是Apache软件基金会的一个开源项目,它提供了构建和消费Web服务的工具和库。CXF支持...
Apache CXF 是一个开源的Java框架,主要用于构建和开发服务导向架构(Service-Oriented Architecture, SOA)和Web服务。本学习笔记旨在提供对Apache CXF的基本理解、功能特性和实际操作指导。 **1. CXF 简介** 1.1...
【CXF 学习必备神器】是一套专为Java开发者准备的全面且深入的CXF框架学习资源。CXF,全称CXF Common Services Framework,是Apache软件基金会的一个开源项目,主要用于构建和开发服务导向架构(SOA)中的Web服务。...
cxf从入门到精通”这句话表明,这份文档不仅适合刚刚接触CXF的开发者,还提供了一个全面的学习路径,从基础到进阶,涵盖了CXF的所有关键知识点。通过阅读这份文档,你可以逐步掌握如何使用CXF来创建、测试和部署Web...
为了更好地理解CXF的使用,通常会通过一个简单的“HelloWorld”示例开始学习。这个例子可以帮助初学者直观地了解如何配置和运行一个基于CXF的WebService。首先,你需要从Apache官方网站下载CXF的最新版本,然后在...
CXF(CXF: Composite eXtensible Framework)是一个开源的Java框架,它主要用于构建和服务导向架构(SOA)的应用程序。本教程集合是为初学者精心准备的,旨在帮助你全面了解并掌握CXF的开发技能。让我们逐一探讨这些...
CXF(CXF: Composite eXtensible Framework)是一个开源的Java框架,它主要用于构建和服务导向架构(Service-Oriented Architecture, SOA)中的Web服务。CXF允许开发者通过多种方式来创建和消费Web服务,无论是基于...
文件“WebService_CXF学习.doc”和“axis2_WebService_开发指南.docx”、“axis_WebService_-_开发指南.docx”应该包含了关于这两个框架的详细教程和实践案例,可以帮助你更深入地理解和应用它们。 总的来说,Axis2...
为了更好地理解 CXF 的工作原理,通常会通过一个简单的 HelloWorld 示例来开始学习。首先,你需要从 Apache 官方网站下载 CXF 的最新版本,然后在 Java 项目中导入所需的依赖库,如 commons-logging、geronimo-...
CXF(CXF: Composite eXtensible Services Framework)是一个开源的Java框架,主要用于构建和服务导向架构(SOA)。这个入门实例是基于CXF 2.2.4版本,一个较旧但...这将为你进一步深入学习和使用CXF打下坚实的基础。