英文原文见官网:http://cwiki.apache.org/CXF20DOC/writing-a-service-with-spring.html
所需jar包:
commons-logging-1.1.jar
geronimo-activation_1.1_spec-1.0-M1.jar (or Sun's Activation jar)
geronimo-annotation_1.0_spec-1.1.jar (JSR 250)
geronimo-javamail_1.4_spec-1.0-M1.jar (or Sun's JavaMail jar)
geronimo-servlet_2.5_spec-1.1-M1.jar (or Sun's Servlet jar)
geronimo-ws-metadata_2.0_spec-1.1.1.jar (JSR 181)
jaxb-api-2.0.jar
jaxb-impl-2.0.5.jar
jaxws-api-2.0.jar
neethi-2.0.jar
saaj-api-1.3.jar
saaj-impl-1.3.jar
stax-api-1.0.1.jar
wsdl4j-1.6.1.jar
wstx-asl-3.2.1.jar
XmlSchema-1.2.jar
xml-resolver-1.2.jar
aopalliance-1.0.jar
spring-core-2.0.8.jar
spring-beans-2.0.8.jar
spring-context-2.0.8.jar
spring-web-2.0.8.jar
cxf-2.1.jar
服务接口及实现:
import javax.jws.WebService;
@WebService
public interface HelloWorld {
String sayHi(String text);
}
import javax.jws.WebService;
@WebService(endpointInterface = "demo.spring.HelloWorld")
public class HelloWorldImpl implements HelloWorld {
public String sayHi(String text) {
System.out.println("sayHi called");
return "Hello " + text;
}
}
bean.xml
<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">
<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="helloWorld"
implementor="demo.spring.HelloWorldImpl"
address="/HelloWorld" />
</beans>
web.xml
<web-app>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>WEB-INF/beans.xml</param-value>
</context-param>
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
<servlet>
<servlet-name>CXFServlet</servlet-name>
<display-name>CXF Servlet</display-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>
</web-app>
客户端代码(Spring注入方式)client-bean.xml:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:jaxws="http://cxf.apache.org/jaxws"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
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">
<jaxws:client id="helloClient"
serviceClass="demo.spring.HelloWorld"
address="http://localhost:9002/HelloWorld" />
</beans>
java 代码:
ApplicationContext context = ...; // your Spring ApplicationContext
HellWorld client = (HelloWorld) context.getBean("helloClient");
分享到:
相关推荐
6. **发布Web服务**:在Tomcat上发布CXF Web服务,需要将包含CXF和Spring配置的WAR文件部署到Tomcat的webapps目录下。然后,Tomcat会自动加载并启动服务,使得其他客户端可以通过HTTP或HTTPS请求访问这些服务。 7. ...
【标题】"CXF在Tomcat上的发布"是关于如何将Apache CXF服务部署到Tomcat服务器中的技术实践。Apache CXF是一个开源的Java框架,主要用于构建和开发Web服务,支持SOAP、RESTful等多种通信模式。Tomcat则是一个广泛...
在本教程中,我们将深入探讨如何使用CXF在JBoss和Tomcat这两种流行的Java应用服务器上发布Web服务。 ### 一、CXF WebService发布 1. **CXF环境搭建** 在开始之前,确保你已经安装了Java Development Kit (JDK) 和...
- **Tomcat**:安装并配置Tomcat服务器,确保其能正常运行。 3. **创建Web项目**: 在Eclipse中,通过`File—New—Project—Web—Dynamic Web Project`创建一个新的动态Web项目。设置默认输出文件夹为`WebContent...
4. 将服务部署到Tomcat服务器上,CXF会根据配置自动生成WSDL文件,这是服务的接口描述。 5. 在客户端,使用CXF的工具(如wsdl2java)生成客户端代码,然后在代码中创建服务代理,调用服务。 这个项目对于初学者来说...
这个例子将涵盖从创建服务接口、实现该接口、配置CXF和Spring,到最终在Tomcat服务器上运行服务的全过程。 【标签】"webservice"表明我们关注的是基于标准的、平台无关的通信方式,即Web服务。Web服务允许不同的...
通过本指南,我们学习了如何使用Eclipse集成开发环境和Apache CXF框架开发Web服务,并通过Tomcat服务器进行部署。这是一个完整的从开发到部署的过程,涵盖了Web服务的基本概念、CXF框架的使用以及Tomcat作为应用...
接下来,通过CXF的Spring配置文件,我们可以将接口绑定到一个特定的URL上,以发布为Web服务: ```xml implementor="com.example.HelloWorldImpl" address="/HelloWorld"/> ``` 在上述配置中,`implementor`...
5. **部署服务**:使用CXF的Servlet或者JAX-WS端点工厂将服务暴露到HTTP服务器,通常是Tomcat、Jetty等应用服务器。 6. **测试服务**:可以通过CXF的WS-Client或者简单的HTTP客户端工具(如Postman)来测试你的Web...
2、把web.xml里的spring的监听器注释掉,保证WEB-INF下有cxf-servlet.xml,然后发布到WEB服务器即可 3、web.xml里配置spring监听器,及其加载的beans.xml,把cxf-servlet.xml删掉,发布到WEB服务器即可,注意这种方式...
5. **CXF的部署**:CXF支持多种部署方式,包括独立运行(使用CXF的Servlet容器)、嵌入式在其他应用服务器中(如Tomcat、Jetty),或者作为OSGi服务。在部署时,你需要将CXF的依赖库加入到项目的类路径中,并配置...
4. **部署到Tomcat**:将包含CXF配置和Web服务实现的Web应用打包成WAR文件,然后将其部署到Tomcat服务器上。 5. **启动服务**:启动Tomcat服务器,CXF会自动扫描并加载Web服务。 6. **测试服务**:通过发送SOAP或...
1. **服务器端Web服务发布**:CXF允许开发者通过JAX-WS或JAX-RS接口定义服务,然后自动暴露为SOAP或RESTful服务。SpringBoot结合CXF,可以轻松将服务发布到内嵌的Servlet容器中。 2. **客户端Web服务调用**:CXF还...
使用cxf、spring构建的rest风格webservice,其他相关技术springmvc、mybatis、druid等。代码中使用的数据库为sybase,请根据实际环境更改,需修改pom中引用的数据库驱动,依照entity类的属性建对应表,并修改config....
它内嵌了Tomcat或Jetty服务器,使得部署无需额外的容器。 2. **Apache CXF简介** Apache CXF是一个开源的Web服务框架,支持SOAP、RESTful等不同风格的服务。它允许开发者以Java注解或XML方式定义服务接口,并提供...
- **部署服务**:将项目打包成WAR或JAR,并部署到应用服务器如Tomcat,CXF会自动暴露服务。 **4. 开发WebService客户端** - **生成客户端代码**:CXF提供wsdl2java工具,可以从WSDL文件生成客户端所需的Java类和...
为了运行这个服务,我们需要在web应用服务器(如Tomcat)中部署CXF的Servlet。在`web.xml`文件中,我们配置CXF的Servlet监听特定的URL路径,例如`/services/*`。 对于客户端,CXF同样提供了便利的工具生成客户端...
【标题】"webservice动态访问天气预报(tomcat+jsp+servlet+webservice+cxf)"涉及的关键技术栈包括Web服务、服务器管理、前端交互等多个方面。本文将深入探讨这些技术在实现动态天气预报功能中的应用。 【描述】中...
7. **部署Web服务**:打包项目为WAR文件,部署到Tomcat或其他Servlet容器。 通过以上步骤,我们可以成功地搭建一个基于CXF和Spring的Web服务器,使用iBatis处理数据库操作,通过JSON进行数据交换。这样的架构具有...
在本压缩包中,"webservice例子(客户端和服务器端和tomcat部署).zip" 提供了一个完整的Web服务示例,包括客户端、服务器端的实现以及在Tomcat服务器上的部署过程。 一、Web Service基础 Web Service的核心技术包括...