最近这一周一直在做webservice。用xfire和spring结合做的。开始遇见很多问题。这里得谢谢阿敏司令给的一些提示。在这里给出一个demo主要是客户端传pojo里面在封装list这样的大对像。部署spring和xfire的环境是很简单的 修改web.xml
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
/WEB-INF/xfire-servlet.xml
</param-value>
</context-param>
<servlet>
<servlet-name>xfire</servlet-name>
<servlet-class>
org.springframework.web.servlet.DispatcherServlet
</servlet-class>
<load-on-startup>0</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>xfire</servlet-name>
<url-pattern>/services/*</url-pattern>
</servlet-mapping>
增加xfire-servlet.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
"http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<import resource="classpath:org/codehaus/xfire/spring/xfire.xml"/>
<import resource="applicationContext.xml"/>
<bean
class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="urlMap">
<map>
<!-- 配置 service 名称和 Service Bean -->
<!-- -->
<entry key="/UserService.ws">
<ref bean="userService" />
</entry>
</map>
</property>
</bean>
<bean id="baseWebService" class="org.codehaus.xfire.spring.remoting.XFireExporter" lazy-init="false" abstract="true">
<property name="serviceFactory" >
<ref bean="xfire.serviceFactory"/>
</property>
<property name="xfire" >
<ref bean="xfire"/>
</property>
</bean>
<!-- 测试用的-->
<bean id="userService" parent="baseWebService">
<property name="serviceBean" >
<ref bean="userbean"/>
</property>
<property name="serviceClass" >
<value>test.service.Userservice</value>
</property>
</bean>
</beans>
配置applicationcontext.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans >
<!-- -->
<bean id="userbean" class="test.service.imp.UserserviceImp"></bean>
</beans>
配置client.xml
<?xml version="1.0" encoding="UTF-8"?>
<!-- anthor zhangkt -->
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans >
<!-- 获取用户信息的例子 测试 -->
<bean id="testUserWebService" class="org.codehaus.xfire.spring.remoting.XFireClientFactoryBean" lazy-init="true">
<property name="serviceClass">
<value>test.service.Userservice</value>
</property>
<property name="wsdlDocumentUrl">
<value>http://127.0.0.1:8080/Test/services/UserService.ws?wsdl</value>
</property>
</bean>
</beans>
java文件
package test;
import java.util.List;
public class UserList implements java.io.Serializable{
private User user;
public User getUser() {
return user;
}
public void setUser(User user) {
this.user = user;
}
private List <User> u;
public List<User> getU() {
return u;
}
public void setU(List<User> u) {
this.u = u;
}
}
package test;
public class User {
private String age;
private String longName;
public String getAge() {
return age;
}
public void setAge(String age) {
this.age = age;
}
public String getLongName() {
return longName;
}
public void setLongName(String longName) {
this.longName = longName;
}
}
package test.service;
import java.util.List;
import test.UserList;
import test.User;
public interface Userservice {
public String createUser(UserList userList);
public String getLi();
public void ListUser(UserList u);
}
package test.service.imp;
import test.service.Userservice;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import test.User;
import test.UserList;
public class UserserviceImp implements Userservice{
public String createUser(UserList userList) {
User user=userList.getUser();
System.out.println(user.getLongName());
return "1";
}
public String getLi( ) {
// TODO Auto-generated method stub
return "12";
}
public void ListUser(UserList u) {
// TODO Auto-generated method stub
List <User> li=u.getU();
for(User user:li){
System.out.println(user.getLongName());
}
}
}
主要注意序列化和jdk1.5的特性。1.4的还没去研究
分享到:
相关推荐
【标题】"用XFire开发WebService+Spring注解"涉及的主要知识点是利用XFire框架创建Web服务,并结合Spring框架的注解进行服务的管理和集成。XFire是一个强大的Java Web Service实现,它允许开发者轻松地创建和消费...
"Java 使用 XFire 调用 webService 接口" ...我们了解了服务端和客户端的开发步骤,并了解了使用 XFire 调用 webService 接口的优点。通过本文,我们可以更好地理解和应用 XFire 框架,提高 Web 服务的开发和集成效率。
**标题:“用XFire开发Webservice简单实例”** 在IT行业中,Web服务是不同系统间进行数据交换和功能调用的重要方式。XFire是Apache软件基金会的一个开源项目,它提供了一个轻量级、高效的框架来创建和消费Web服务。...
在MyEclipse中使用XFire开发WebService是一种常见的Java Web服务实现方式。XFire是一个轻量级、高性能的Java Web服务框架,它简化了创建和消费Web服务的过程。下面将详细介绍如何在MyEclipse环境中利用XFire进行Web...
标题中的"MyEclipse下用XFire开发WebService(入门级)源码"指的是一项使用MyEclipse集成开发环境,结合XFire框架来创建和部署Web服务的教程,适合初学者。XFire是一款早期的Java Web服务实现库,它简化了SOAP(简单...
【在Eclipse上使用XFire开发WebService】 在IT行业中,Web Service是一种常见的软件接口技术,允许不同系统之间通过网络进行通信和数据交换。Eclipse是一款强大的集成开发环境(IDE),而XFire则是一个免费的开源...
【标题】"用xfire开发webservice实例(原稿)"所涉及的知识点主要集中在使用XFire框架创建和实现Web服务的实践中。XFire是Apache CXF的前身,它是一个轻量级的Java Web服务框架,允许开发者快速地构建和部署SOAP服务。...
本篇将深入探讨如何使用Xfire开发Web服务的客户端,并提供所需的关键jar包。 一、Xfire简介 Xfire是一个基于Apache CXF前身的轻量级框架,它提供了快速、简单地创建和部署Web服务的能力。Xfire支持SOAP、RESTful和...
4. **启动XFire服务器**:使用XFire提供的启动器或Spring集成,启动服务监听指定端口。 5. **发布服务**:通过配置文件,XFire会自动扫描并发布实现的服务到指定的URL。 6. **消费Web服务**:使用XFire的客户端API...
这篇博客“Java使用XFire调用WebService接口”显然是讨论如何利用XFire这个开源框架来与Web服务交互。 XFire是Apache CXF项目的前身,它提供了一种简单的方式来创建和消费SOAP Web服务。XFire的强项在于其轻量级和...
【XFire开发WebService入门教程】 在本文中,我们将详细介绍如何在MyEclipse 6.5环境下使用XFire框架创建和消费Web服务。XFire是一个快速、轻量级且功能丰富的Java Web服务实现库,它使得在Java应用中构建和使用Web...
在开始之前,确保你的开发环境中已经包含了XFire的库。你可以通过Maven或Gradle将其添加到项目的依赖中。然后,你需要在Spring配置文件中声明XFire的相关bean,例如`XFireConfigurer`和`XFireServiceExporter`,...
标题“Xfire调用WebService无法传递参数问题”暗示了开发者在尝试使用Xfire框架时遇到了参数无法正常传递到Web服务的情况。这可能涉及到多个方面,如编码问题、序列化错误、类型不匹配或者配置不正确等。以下是一些...
标题中的“xfire开发webservice所需jar包”指的是在使用XFire框架开发Web服务时所需要的一组Java类库。XFire是Apache CXF项目的一部分,它是一个轻量级的、高性能的Web服务框架,用于创建和消费SOAP服务。这篇博客...
压缩包中的"xfire开发webservice及jar包"很可能包含了所有必要的库文件,如xfire-core、xfire-aegis等。 2. **创建Web Service**: 使用Xfire,你可以通过编写简单的Java类来定义服务接口和实现。Xfire会自动处理...
xfire开发webservice文档.pdf
xfire还提供了一个基于annotation的编程模型,使得开发者可以使用简单的Java代码来开发WebService。 xfire的主要特点包括: 1. 简单易用:xfire提供了一个简单、易于使用的API,开发者可以快速地开发和部署...