个人博客:http://www.hpgy.net/blog/12345679/9/262_1.html
最近在产品开发中用到了XFire来实现WebService,现把项目中的使用体会和经验总结如下:
1. 相关资源
xFire相关jar包:
核心包:xfire-all-1.2.6.jar、xfire-jsr181-api-1.0-M1.jar;依赖包:XmlSchema-1.1.jar 、xmlsec-1.3.0.jar、xml-apis-1.0.b2.jar、wsdl4j-1.6.1.jar、wss4j-1.5.1.jar、wstx-asl-3.2.0.jar、stax-api-1.0.1.jar、stax-utils-20040917.jar、jdom-1.0.jar、jaxen-1.1-beta-9.jar、commons-httpclient-3.0.jar。
xFire的jar包和原工程的jar包容易发生冲突,是比较烦人的一件事;大家在使用中要特别注意。
2. 配置Web.xml
<!-- xfire 配置 -->
<servlet>
<servlet-name>XFireServlet</servlet-name>
<servlet-class> org.codehaus.xfire.spring.XFireSpringServlet </servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>XFireServlet</servlet-name>
<url-pattern>/servlet/XFireServlet/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>XFireServlet</servlet-name>
<url-pattern>/services/*</url-pattern>
</servlet-mapping>
3. 编写Web Service实现类
这个和普通的Service类实现一样,一个接口,一个实现类,这里我们定义了一个简单数学计算求和的Service,代码如下:
Service接口类:MathService.java
package com.kuaff.xfire.samples;
public interface MathService {
public long add(int p1, int p2);
}
Service实现类:MathServiceImpl.java
package com.kuaff.xfire.samples;
public class MathServiceImpl implements MathService {
public long add(int p1, int p2) {
return p1 + p2;
}
}
4. 配置Service到Web应用中
编写Web Service的实现类后,接着我们把它集成到Spring中并向外暴露服务。首先,需要在spring配置文件中引入xfire相关配置文件,
引入配置如下:
<import resource="classpath:org/codehaus/xfire/spring/xfire.xml" />
然后配置Web Service业务逻辑的实现类,这个和一般的bean配置一样,如下:
<bean id="mathBean" class="com.kuaff.xfire.samples.MathServiceImpl" autowire="byName"/>
最后一步把mathBean配置成Web Service,向外暴露该服务的接口以便访问,配置如下:
<bean id="mathWebService" class="org.codehaus.xfire.spring.remoting.XFireExporter"> <!-- WebService的名字 -->
<property name="xfire" ref="xfire" />
<property name="serviceBean" ref="mathBean" /> <!-- WebService的实现类bean -->
<property name="serviceClass" value="com.kuaff.xfire.samples.MathService" />
</bean>
5. 客户端访问
package com.kuaff.xfire.samples.client;
import org.codehaus.xfire.client.Client;
public class TestWebServiceClient {
public static void main(String[] args) {
int p1 = 3;
int p2 = 5;
Client client;
try {
client = new Client(new URL("http://localhost:8080/test/services/mathWebService?wsdl"));
Object[] results = client.invoke("add", new Object[] {p1,p2});
System.out.println((String) results[0]);
System.out.println(p1);
} catch (Exception e) {
e.printStackTrace();
}
}
}
分享到:
相关推荐
总之,使用XFire和Spring构建Web服务允许你利用Spring的灵活性和XFire的效率来创建高性能的服务。这种方式使得服务的开发、管理和维护变得更加简单,尤其适合大型企业级应用。通过实践这个教程,你不仅可以学习到Web...
总结,使用XFire和Spring构建Web Service,可以利用Spring的IoC和AOP特性简化服务的创建和管理,同时XFire提供了高效且灵活的Web Service实现。通过以上步骤,开发者可以快速地搭建自己的Web Service,并与其他系统...
总结来说,这个例子不仅展示了如何使用XFire+Spring构建Web服务,还涵盖了处理复杂数据类型、对象序列化、服务发布、异常处理等多个关键点。通过这样的实践,开发者可以更好地理解Web服务的实现原理,并能够灵活地...
这些特性使得XFire在Web Service开发领域备受青睐,尤其是结合Spring框架使用时,可以实现无缝集成,让Web Service的构建和管理变得更加便捷。 以XFire和Spring集成的HelloWorld示例为例,我们可以看到一个基于J2EE...
在本教程中,我们将深入探讨如何使用XFire和Spring框架来发布Web服务。XFire是Apache CXF项目的一部分,它是一个强大的Java Web服务框架,而Spring则是Java开发中的一个核心框架,提供了依赖注入、AOP(面向切面编程...
Spring框架是Java企业级应用开发的首选工具,而XFire则是一个早期的、基于Apache CXF的用于构建和消费Web服务的库。本篇文章将深入探讨如何使用XFire与Spring框架一起开发Web服务。 首先,我们需要理解XFire的基本...
2. `使用XFire+Spring构建Web Service(一)——helloWorld篇 - 阿蜜果 - BlogJava.mht`:这是一个关于Web服务创建的教程文档,可能详细介绍了如何使用XFire和Spring创建一个简单的"Hello World"服务。 3. `....
总之,使用XFire和Spring构建WebService是一种强大的组合,它允许开发者利用Spring的强大功能和XFire的易用性,快速、高效地开发和部署Web服务。理解并掌握这一技术将对提升开发者在Web服务领域的专业技能大有裨益。
6. **适用场景**:这种整合方式适用于需要构建Web服务并依赖于数据库操作的Java应用,特别是那些希望以面向对象的方式编写业务逻辑,同时需要灵活发布和调用Web服务的项目。 7. **注意事项**:尽管这种整合方式在...