spring xfire是一种比较简单的webservcie方式,下面的步骤描述一个例子。
基本流程是:
1.加载spring,xfire jar文件
2.web.xml加载applicationContext.xml,xfire
3.创建java服务工程,创建远程对外服务接口,实现类,model对象
4.在applicationContext.xml中部署服务
5.测试webservice
1.创建一个web工程,加入Maven,pom.xml代码见:
<dependencies>
<dependency>
<groupId>org.codehaus.xfire</groupId>
<artifactId>xfire-aegis</artifactId>
<version>1.2.4</version>
</dependency>
<dependency>
<groupId>org.codehaus.xfire</groupId>
<artifactId>xfire-spring</artifactId>
<version>1.2.4</version>
</dependency>
<dependency>
<groupId>xalan</groupId>
<artifactId>xalan</artifactId>
<version>2.7.0</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>2.0</version>
</dependency>
</dependencies>
如果没有使用Maven,将如下jar文件加载到classpath下面:
activation-1.1.jar
aopalliance-1.0.jar
avalon-framework-4.1.3.jar
commons-attributes-api-2.1.jar
commons-beanutils-1.7.0.jar
commons-codec-1.3.jar
commons-httpclient-3.0.jar
commons-logging-1.1.jar
jaxen-1.1-beta-9.jar
jdom-1.0.jar
junit-3.8.1.jar
log4j-1.2.12.jar
logkit-1.0.1.jar
mail-1.4.jar
qdox-1.5.jar
servlet-api-2.3.jar
spring-1.2.6.jar
spring-aop-2.0.jar
spring-beans-2.0.jar
spring-context-2.0.jar
spring-core-2.0.jar
spring-web-2.0.jar
stax-api-1.0.1.jar
stax-utils-snapshot-20040917.jar
wsdl4j-1.6.1.jar
wstx-asl-3.2.0.jar
xalan-2.7.0.jar
xbean-2.2.0.jar
xbean-spring-2.7.jar
xercesImpl-2.6.2.jar
xfire-aegis-1.2.4.jar
xfire-annotations-1.2.4.jar
xfire-core-1.2.4.jar
xfire-spring-1.2.4.jar
xfire-xmlbeans-1.2.4.jar
xml-apis-1.0.b2.jar
xmlParserAPIs-2.6.2.jar
XmlSchema-1.1.jar
2.编辑web.xml
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:applicationContext*.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<servlet>
<servlet-name>xfire</servlet-name>
<servlet-class>
org.codehaus.xfire.spring.XFireSpringServlet
</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>xfire</servlet-name>
<url-pattern>/service/*</url-pattern>
</servlet-mapping>
3.创建java服务工程,在web工程中关联该java工程或将java服务工程打包jar放到web工程classpath下面。
服务对外接口:org.simpledev.spring.xfire.service
HelloService
String sayHello(String username) throws RemoteException;
User listUserById(int id) throws RemoteException;
接口实现类:org.simpledev.spring.xfire.service.impl
HelloServiceImpl implements HelloService
public User listUserById(int id) throws RemoteException {
System.out.println("server listUserById invoke");
User user = new User(id,"纪纱","女",12,"日本都立海原高校");
return user;
}
public String sayHello(String username) throws RemoteException {
System.out.println("server sayHello invoke");
return "你好 " + username;
}
model对象
属性:id,username,sex,age,address
提供构造函数
每个属性提供getXXX(),setXXX()方法
4.编辑applicationContext.xml
<import resource="classpath:org/codehaus/xfire/spring/xfire.xml" />
<bean id="baseWebService" class="org.codehaus.xfire.spring.remoting.XFireExporter" lazy-init="false" abstract="true">
<property name="serviceFactory" ref="xfire.serviceFactory" />
<property name="xfire" ref="xfire" />
</bean>
<bean id="userWS" class="org.simpledev.spring.xfire.service.impl.HelloServiceImpl">
</bean>
<bean id="userService" parent="baseWebService">
<property name="serviceBean" ref="userWS" />
<property name="serviceClass" value="org.simpledev.spring.xfire.service.HelloService" />
</bean>
测试部署是否成功,发布web工程,在IE地址栏中输入: http://127.0.0.1:8080/springxfire/service/,出现链接后: http://127.0.0.1:8080/springxfire/service/HelloService?wsdl
表示部署成功
5.测试工程
public static void main(String[] args) {
try {
Service serviceModel = new ObjectServiceFactory().create(HelloService.class);
HelloService service = (HelloService) new XFireProxyFactory().create(
serviceModel,
"http://127.0.0.1:8080/springxfire/service/HelloService");
//方法一 测试
String str = service.sayHello("世界");
System.out.println(str);
//方法二 测试
User user = service.listUserById(1);
System.out.println("id:"+user.getId());
System.out.println("username:"+user.getUsername());
System.out.println("sex:"+user.getSex());
System.out.println("age:"+user.getAge());
System.out.println("address:"+user.getAddress());
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (RemoteException e) {
e.printStackTrace();
}
}
发现的问题:在实际项目中,
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>2.0</version>
</dependency>一些jar包与原来项目中的spring jar可能会产生冲突,可以将spring-web jar去掉或覆盖,如下:
(
aopalliance-1.0.jar
avalon-framework-4.1.3.jar
commons-logging-1.1.jar
log4j-1.2.12.jar
logkit-1.0.1.jar
servlet-api-2.3.jar
spring-aop-2.0.jar
spring-beans-2.0.jar
spring-context-2.0.jar
spring-core-2.0.jar
spring-web-2.0.jar
)
其次web.xml中注意加载:xfire,否则测试是否部署成功时,http://.../service/,其实请求的就是在web.xml中配置的servlet
分享到:
相关推荐
Spring作为一个强大的框架,提供了全面的依赖注入和面向切面编程能力,而XFire是早先的Web服务实现,它允许开发者轻松地将Java接口转换为SOAP Web服务。在本教程中,我们将深入探讨如何使用Spring和XFire编写Web服务...
【xfire+Spring+WebService 入门实例详解】 在IT行业中,Web服务是一个重要的通信方式,它允许不同系统间的应用程序进行数据交换。本入门实例将深入探讨如何使用XFire框架与Spring集成来构建和消费Web服务。XFire是...
【标题】"xfire+spring+webservice例子"是一个典型的示例项目,它演示了如何在Java环境中结合XFire和Spring框架来创建和消费Web服务。这个项目旨在帮助开发者理解和实践基于Spring的Web服务实现,同时也展示了XFire...
总结来说,这个"xfire+spring开发webservice的例子"是一个完整的Java Web服务开发示例,它演示了如何利用Maven管理依赖,借助XFire创建和部署Web服务,以及如何利用Spring进行服务的管理和测试。这对于学习和理解Web...
在"webservice和Spring接合的实例"这一标签中,我们可以推断这个例子还涉及到了Spring对Web服务的支持。Spring提供了多种Web服务工具,如Spring-WS和Spring-Integration-WS,可以方便地创建、消费和管理Web服务。...
【xfire实现Web服务的例子】 Web服务是一种基于标准的、平台无关的方式,使得应用程序能够通过互联网进行通信。在Java世界中,XFire是早期流行的Web服务框架,它简化了创建和消费Web服务的过程。XFire利用Java注解...
本教程将详细讲解如何使用XFire来创建和消费一个简单的WebService。 首先,我们需要理解什么是XFire。XFire(现已被Apache CXF项目吸收)是一个基于Java的Web服务栈,它简化了SOAP(简单对象访问协议)和WS-*(Web...
本示例将详细介绍如何使用XFire和Spring框架来构建一个Web服务。XFire是Apache CXF的一部分,它是一个用于创建、部署和管理Web服务的开源工具,而Spring是一个广泛使用的Java企业级应用开发框架,提供了一个全面的...
定义服务接口和服务实现,然后使用XFire的注解(如`@WebService`)标记你的服务类。 5. **配置XFire**:配置XFire的Servlet或CXF的FrontendServlet,指定服务发布的位置和端口。将Spring配置中的服务bean暴露为Web...
在这个“简单的XFire WebService例子”中,我们将深入探讨如何利用XFire来构建和消费Web服务。 【 WeberService概念】 Web服务是一种通过网络(通常是互联网)提供和使用功能的方法,它遵循特定的协议和标准,如...
在本例中,我们将探讨Xfire Webservice与Spring框架的集成,以及如何发布和调用Web服务。 首先,让我们了解Xfire的核心功能。Xfire是Apache CXF项目的一个早期版本,它提供了SOAP(Simple Object Access Protocol)...
标题 "xfire+spring webservice" 指的是在Java开发环境中,利用XFire和Spring框架来构建Web服务。这是一个常见的技术组合,用于快速、高效地创建和消费Web服务。让我们深入了解一下这两个组件以及它们如何协同工作。...
XFire是Apache CXF的前身,它提供了简单、高性能的方式来实现基于SOAP的Web服务。这篇博客文章“xfire发布webservice服务”可能详细介绍了如何使用XFire来构建并发布一个Web服务。 【描述】:“NULL” 虽然描述为...
总的来说,"webService+Xfire入门"的教程适合初学者,通过它你可以快速了解Web Service的基本概念,学会使用MyEclipse创建、部署和测试Web Service,并理解XFire在Web服务开发中的作用。实践这个小例子,你将对Web ...
**如何使用XFire实现WebService:** 1. **创建服务接口**:首先,定义一个Java接口,包含你希望暴露为Web服务的方法。 2. **实现服务接口**:编写实现该接口的类,提供具体业务逻辑。 3. **配置XFire**:通过XML...
【标题】中的“webservice xfire整合spring(webservice配置采用注解)”是指将Xfire,一个早期的Web服务框架,与Spring框架结合使用,其中Web服务的配置通过Spring的注解方式进行。这种方式简化了配置,提高了开发...
本文档主要介绍了如何在现有的Spring2.5+Hibernate3.2基础上添加XFire来实现WebService服务的配置过程。通过逐步指导的方式,帮助读者了解整个配置流程,并提供相关的截图以辅助理解。 #### 环境准备 在开始之前,...
xfire webservice 集成spring客户端封装成到一个类打包到客户端就像调静态方法一样
在这个主题中,我们将深入探讨如何使用XFire与Spring框架结合,实现Web服务的两种不同方式。 首先,XFire是一个已不再维护的开源项目,它被Apache CXF所取代。尽管如此,理解XFire对于理解CXF或其他Web服务实现仍有...