项目中用到了webservice,这块东西是同事做的,最近闲来无事,正好学习下webservice。
在项目中是使用的xfire,但cxf与xfire完全兼容,而且cxf是xfire的升级。索性便来学习下cxf。
工具使用的 myeclipse+glassfish
1)、首先在ec中新建web工程-TestCXF。
2)、新建包-com.test.cxf
3)、新建接口文件-IHelloWorld
package com.test.cxf;
import javax.jws.WebService;
@WebService
public interface IHelloWorld
{
public String sayHello(String text);
}
在此接口中,定义一个方法 sayHello(String text),参数为String类型
4)、新建java类,实现上述的接口-HelloWorldImpl
package com.test.cxf;
import javax.jws.WebService;
@WebService(endpointInterface = "com.test.cxf.IHelloWorld")
public class HelloWorldImpl implements IHelloWorld
{
public String sayHello(String text)
{
System.out.println("sayHello is called!");
return "Hello " + text;
}
}
5)、修改web.xml文件。加入下面代码到web.xml中
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
classpath:/applicationContext-webservice.xml
</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<!-- CXF -->
<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>/services/*</url-pattern>
</servlet-mapping>
6)、新建xml文件-applicationContext-webservice.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">
<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" />
<!-- apache cxf 与 spring -->
<bean id="hello" class="com.test.cxf.HelloWorldImpl" />
<jaxws:endpoint id="helloWorld" implementor="#hello" address="/HelloWorld" />
<!--If you want to reference a spring managed-bean, you can write like this:-->
<!-- <jaxws:endpoint id="helloWorld" implementor="com.test.cxf.HelloWorldImpl" address="/HelloWorld" /> -->
<!-- ************************************************************************************ -->
</beans>
7)、发布此service
8)、将其发布到galssfish上,在工程名上鼠标右键-myEclpse-Add and Remove Projects Deployments
9)、当此工程部署成功后,启动glassfish。
10)、打开IE,输入:http://localhost:8080/TestCXF/services/HelloWorld?wsdl
这样一个入门的webservice便算完成。
附件是完整的工程,但是没有lib,
aopalliance-1.0.jar
commons-collections-3.2.jar
commons-logging-1.1.jar
cxf-2.0.9.jar
geronimo-activation_1.1_spec-1.0.2.jar
geronimo-annotation_1.0_spec-1.1.1.jar
geronimo-javamail_1.4_spec-1.3.jar
geronimo-servlet_2.5_spec-1.2.jar
geronimo-ws-metadata_2.0_spec-1.1.2.jar
jaxb-api-2.0.jar
jaxb-impl-2.0.5.jar
jaxws-api-2.0.jar
jdom-1.0.jar
jetty-6.1.9.jar
jetty-util-6.1.9.jar
log4j-1.2.9.jar
neethi-2.0.4.jar
saaj-api-1.3.jar
saaj-impl-1.3.2.jar
spring.jar
spring-beans-2.0.8.jar
spring-context-2.0.8.jar
spring-core-2.0.8.jar
spring-web-2.0.8.jar
wsdl4j-1.6.2.jar
wstx-asl-3.2.6.jar
xml-resolver-1.2.jar
XmlSchema-1.4.2.jar
分享到:
相关推荐
现在,我们将深入探讨如何将CXF与Spring集成,以构建高效、灵活的Web服务。 首先,让我们理解CXF的核心特性。CXF支持多种Web服务规范,如SOAP、RESTful以及WS-*家族,如WS-Security、WS-ReliableMessaging等。它还...
在与Spring框架集成时,Apache CXF能够利用Spring的强大功能来管理服务的生命周期和依赖注入,使得Web服务的开发更加便捷和灵活。集成过程涉及以下几个关键步骤: 1. **环境准备**:确保使用合适的开发环境,例如...
NULL 博文链接:https://ynp.iteye.com/blog/888547
在上述描述的基础上,如果文件`cxfserver`包含了一个完整的CXF与Spring集成的示例项目,那么这个项目可能包含了Spring配置文件、服务接口和实现类的源代码,以及相关的Maven配置。通过分析这些文件,我们可以学习到...
在【压缩包子文件的文件名称列表】中,"cxf-spring"可能包含的是用于集成CXF与Spring的必要jar包,如cxf-spring-integration.jar,这个文件通常包含了CXF与Spring集成所需的类和资源,使得开发者能够在Spring环境下...
- **cxfConnection**:这个名字暗示这可能是一个关于CXF连接配置的文件,可能包含了CXF与Spring集成的具体配置,例如服务的URL、认证信息、传输协议等。 - **cxfConsumer**:此文件名可能指的是CXF消费者,即...
以上就是CXF与Spring集成的WebServer实例的基础步骤。在实际项目中,你可能需要处理更复杂的配置,如安全性、数据绑定、异常处理等。对于CXF 2.3.0版本,虽然已经有些陈旧,但是理解其工作原理对理解现代版本的CXF...
cxf与spring集成 需要最少的jar如下: cxf-2.3.3.jar geronimo-annotation_1.0_spec-1.1.1.jar geronimo-jaxws_2.2_spec-1.0.jar geronimo-stax-api_1.0_spec-1.0.1.jar geronimo-ws-metadata_2.0_spec-1.1.3.jar ...
通过阅读和运行这些代码,你可以更深入地理解如何将CXF与Spring集成以构建Web服务。 总的来说,使用CXF和Spring构建Web服务涉及了Java编程、Web服务原理、Spring框架的使用、以及CXF的相关配置和工具。这是一个典型...
3. **CXF与Spring集成的优势**: - **依赖注入(DI)**:Spring的DI允许CXF组件轻松地接收来自Spring容器的依赖,无需硬编码实例化。 - **配置简化**:通过Spring配置文件,可以集中管理Web服务的生命周期和配置。...
- `cxf.html`:可能是关于CXF与Spring集成的教程或指南,详细解释了集成过程和注意事项。 - `cxfwebservice.html`:可能详细介绍了如何使用CXF创建和部署Web服务,以及如何进行测试。 - `ecnuWebService.zip`:可能...
本文将深入探讨如何将CXF与Spring框架整合,以构建高效且灵活的Web服务解决方案。 首先,让我们了解CXF。CXF(CXF = CXF = "CXF 是一个框架")是一个开源的Java框架,它允许开发人员创建和消费各种Web服务,包括...
4. **CXF与Spring集成**:CXF可以与Spring无缝集成,通过Spring配置文件来管理Web服务的bean。这样,Web服务的实例化、初始化和生命周期管理都可以交由Spring处理,提高代码的可测试性和可维护性。 5. **Tomcat...
虽然描述为空,但我们可以推测这些文件是用于支持CXF与Spring集成的环境。通过参考提供的博文链接(https://qq44056919.iteye.com/blog/834743),读者可以找到更详细的实现步骤和解释。 【标签】:“源码 工具” ...
通过以上步骤,你已成功地将CXF与Spring集成,并创建了一个简单的Web服务。这种方式使得你可以利用Spring的强大功能来管理服务实现,同时利用CXF的Web服务支持。这种集成方式在实际开发中非常常见,因为Spring的灵活...
为了将CXF与Spring集成,你需要配置Spring上下文文件,声明CXF的Servlet或Jetty服务器,然后将你的服务bean定义为Spring组件。这样,Spring会负责服务的初始化和销毁,而CXF则负责服务的暴露和调用。在项目中,...
这个项目展示了如何将CXF与Spring集成,以创建、部署和运行一个高效的Web服务。 【描述】指出,由于文件大小的限制,客户端部分是分开上传的。这意味着该项目不仅包括了服务端的实现,而且可能需要配合一个单独的...
将CXF与Spring集成可以充分利用Spring的依赖注入(DI)和管理服务的能力,简化CXF服务的配置和生命周期管理。 首先,理解CXF和Spring的核心概念是集成的基础。CXF支持SOAP和RESTful两种Web服务风格,提供了一套完整...