webservice是一个技术,但确切的说是一个标准。而不同的语言对webservice有不同的实现框架。这里谈谈java的Apache CXF实现框架,java除了CXF,还有aixs等。
首先是将CXF下载下来,下载网站是:
http://cxf.apache.org/,解压,然后就是开发,开发是基于spring项目的基础之上。
首先是将架包导入项目中,因为我构建的是maven项目,所以在pom.xml添加一下代码即可
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-api</artifactId>
<version>2.3.3</version>
<type>jar</type>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>apache-httpclient</groupId>
<artifactId>commons-httpclient</artifactId>
<version>3.1</version>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-frontend-jaxws</artifactId>
<version>2.3.3</version>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-frontend-jaxrs</artifactId>
<version>2.3.3</version>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-transports-http</artifactId>
<version>2.3.3</version>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-bindings-soap</artifactId>
<version>2.3.3</version>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-bindings-http</artifactId>
<version>2.3.3</version>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-common-utilities</artifactId>
<version>2.3.3</version>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-testutils</artifactId>
<version>2.3.3</version>
<scope>test</scope>
</dependency>
<!-- Jetty is needed if you're are not using the CXFServlet -->
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-transports-http-jetty</artifactId>
<version>2.3.3</version>
<scope>provided</scope>
</dependency>
架包导完了,接下来就是编码,编写要构发布的接口:Login.java
package com.webservice.cxf.worina.service;
public interface Login {
public String add(String name);
}
LoginImpl.java
package com.webservice.cxf.worina.service.impl;
import com.webservice.cxf.worina.service.Login;
public class LoginImpl implements Login {
public String add(String name) {
return "hello " +name;
}
}
接口和实现类都写完了,接下来是配置文件
新建一个applicationContext-ws.xml
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:cxf="http://cxf.apache.org/core"
xmlns:jaxws="http://cxf.apache.org/jaxws"
xmlns:jaxrs="http://cxf.apache.org/jaxrs"
xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://cxf.apache.org/core http://cxf.apache.org/schemas/core.xsd
http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd
http://cxf.apache.org/jaxrs http://cxf.apache.org/schemas/jaxrs.xsd"
default-autowire="byName">
<!-- 以下三个文件为CXF架包自带的,只要引入即可以 -->
<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" />
<jaxws:endpoint id="loginImpl" implementor="#login" address="/login"></jaxws:endpoint>
<bean id="login" class="com.webservice.cxf.worina.service.impl.LoginImpl" />
</beans>
到这为止,还有一步很重要的,就是在web.xml配置CXF
<!-- 项目启动的时候启动CXF的servlet -->
<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>
<url-pattern>/*</url-pattern>
</servlet-mapping>
基本的代码已经有了,然后就是启动项目,浏览器中访问
http://localhost:9999/yourProjectName/login?wsdl
如果出现下面页面,那就说明成功了
<wsdl:definitions xmlns:ns1="http://service.worina.cxf.webservice.com/" xmlns:ns2="http://schemas.xmlsoap.org/soap/http" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://impl.service.worina.cxf.webservice.com/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="LoginImplService" targetNamespace="http://impl.service.worina.cxf.webservice.com/">
<wsdl:import location="http://localhost:9999/login?wsdl=Login.wsdl" namespace="http://service.worina.cxf.webservice.com/"></wsdl:import>
<wsdl:binding name="LoginImplServiceSoapBinding" type="ns1:Login">
<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
<wsdl:operation name="add">
<soap:operation soapAction="" style="document"/>
<wsdl:input name="add">
<soap:body use="literal"/>
</wsdl:input>
<wsdl:output name="addResponse">
<soap:body use="literal"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="LoginImplService">
<wsdl:port binding="tns:LoginImplServiceSoapBinding" name="LoginImplPort">
<soap:address location="http://localhost:9999/youProjectName/login"/>
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
使用客户端调用
public static void main(String[] args) {
JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean();
factory.setAddress("http://localhost:9999/login?wsdl");
factory.setServiceClass(Login.class);
Login login =(Login) factory.create();
System.out.println(login.add("XXX "));
}
调用成功的话即发布成功!
分享到:
相关推荐
总结来说,基于CXF的Web服务示例提供了一个完整的流程,从创建服务接口、实现服务逻辑、配置服务到测试服务,涵盖了Web服务开发的各个方面。通过学习这个例子,开发者可以掌握CXF的基本使用方法,进一步拓展到更复杂...
【标题】"mybatis+spring+cxf Webservice框架"是一个集成性的开发框架,它结合了三个主流的技术组件:MyBatis、Spring和Apache CXF,用于构建高效、灵活且易于维护的Web服务。MyBatis是一个优秀的持久层框架,Spring...
基于CXF开发WebService时,开发者可以采用不同的前端API,如JAX-WS或CXF提供的简单前端。Apache CXF支持多种传输协议和服务绑定,包括SOAP/HTTP、RESTful HTTP、JMS和文件传输等。 在开发过程中,可以通过Maven项目...
【CXF Webservice Demo】是基于Apache CXF框架的一个示例项目,用于演示如何使用CXF来创建和消费Web服务。Apache CXF是一个开源的Java框架,它允许开发者构建和集成Web服务,支持多种Web服务标准,如SOAP、RESTful ...
使用jdk1.6、cxf2.3和tomcat开发的一个关于验证码的webservice接口,主要实现对手机验证码的验证。
### 基于CXF的WebService接口开发及调用步骤详解 #### 一、概述 在当前企业级应用开发中,服务化与微服务架构逐渐成为主流趋势,而WebService作为一种跨语言、跨平台的服务交互方式,在众多场景下仍然发挥着重要...
将CXF和Mybatis整合,可以创建一个基于Web服务的数据访问层。以下是整合步骤: 1. **创建服务接口**:定义一个Java接口,包含CRUD操作。 2. **创建服务实现**:实现该接口,并使用Mybatis的SqlSession执行SQL操作...
### CXF 开发 WebService 服务端详解 #### 一、引言 随着企业级应用对服务化的不断追求,Web Service 成为了实现不同系统间通信的重要手段之一。Apache CXF 是一个高性能、易于使用的框架,它支持多种协议,如SOAP...
本文将详细讲解如何基于Spring注解来利用CXF实现Web服务。 首先,我们需要理解Spring注解的基本概念。Spring注解是一种元数据,它可以直接应用于源代码(如类、方法或字段),提供了声明式编程的能力,减少了XML...
SSH CXF Webservice 开发是Java企业级应用中常见的服务集成和发布技术。SSH是指Spring、Struts和Hibernate这三个开源框架的组合,它们分别负责控制层、视图层和持久层的功能。CXF则是一个流行的Java Web服务实现,...
这个标题“cxf开发webservice所用jar包”表明我们正在讨论一组CXF框架所需的JAR文件,这些文件对于利用CXF开发基于Web服务的应用程序至关重要。在描述中提到“cxf-2.4.1整合spring3.0所用jar包”,这暗示了我们使用...
2. 生成客户端代码:CXF提供了一个工具,可以基于WSDL(Web服务描述语言)文件自动生成客户端代理类。运行以下命令: ```bash java -jar cxf-codegen-plugin-3.4.x.jar -wsdl ...
【CXF Webservice 开发实例】是基于Apache CXF框架实现Web服务的一种实践教程,它主要涉及了如何将CXF与Spring框架进行整合,以构建高效、可维护的Web服务。CXF是一个开源的Java框架,它允许开发者创建和消费各种Web...
CXF(CXF: Composite eXtensible Framework)是一个开源的Java框架,它主要用于构建和开发Web服务。CXF使得开发者能够轻松地创建和部署高质量、高性能的SOAP和RESTful Web服务。CXF工具类是CXF框架的一部分,提供了...
**基于CXF的Web服务发布及访问** 在Java开发中,Apache CXF是一个广泛使用的开源框架,用于构建和实现Web服务。本教程将详细介绍如何利用CXF发布基于SOAP 1.2的Web服务,以及如何进行客户端调用。首先,我们需要...
6. **MyEclipse**:MyEclipse是基于Eclipse的IDE,增加了对Java EE项目的特殊支持,包括图形化部署描述符编辑器、数据库工具和Web服务工具,使得在IDE内开发Spring+CXF项目更为便捷。 7. **二次开发**:这个项目...
本示例将详细介绍如何使用Apache CXF和Spring框架来开发基于HTTPS的安全Web服务,包括服务端和客户端的实现。 Apache CXF是一个开源的Java框架,它支持创建和消费各种Web服务,包括SOAP和RESTful API。而Spring框架...
WebService是一种基于XML的标准化方式,它允许不同平台、语言和操作系统之间的应用程序进行互操作。SOAP(Simple Object Access Protocol)是Web服务最常用的通信协议,而WSDL(Web Services Description Language)...
【标题】基于CXF 2.7.5开发的WebService:SOAP与RESTful详解 【描述】本项目是使用Apache CXF 2.7.5版本实现的WebService服务,包括了SOAP和RESTful两种常见的Web服务接口。Apache CXF是一个开源的Java框架,它为...
本篇文章将详细探讨如何使用CXF框架来开发WebService客户端。 一、CXF简介 CXF是一个开源的Java框架,它支持构建和部署SOAP(简单对象访问协议)和RESTful(Representational State Transfer)Web服务。CXF提供了...