XFire的介绍另见学习资料。
该文档包含了多种Web服务的发布,主要演示复杂对象的传递——网上很多有关Web Services的发布教程讲到的都只是简单的Hello World,在调用Web Service的时候,返回值都是以字符串做演示,都没有涉及到复杂对象的传递。通过该文档,应该可以应付所有的传递值类型了,除了java.util.Map类型 的对象。具体原因,据网上所说,是因为XFire还是什么咚咚与WSDL的xsd:anyType的映射有缺陷引起的。
1.发布Web Service的接口
言归正传,下面是用来发布Web Services的接口及实现类:
package demo;
import java.util.Collection;
import java.util.List;
/**
* 用于发布Web Service的接口
* @author dreava Nov 10, 2008
*/
public interface IHelloService {
/**
* @param ttt
* @return
*/
public String sayHello(String ttt);
/**
* @param u
* @return
*/
public Course choose(User u);
/**
* @param t
* @return
*/
public List<Course> getList(List<String> paramList);
/**
* @return
*/
public Collection<User> getCollection();
}
package demo;
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashSet;
import java.util.List;
/**
* @author dreava Nov 10, 2008
*/
public class HelloServiceImpl implements IHelloService {
public String sayHello(String ttt) {
return "Hello, " + ttt;
}
public Course choose(User user) {
System.out.println(user.getName());
Course course = new Course();
course.setName("choose: Eee");
List<User> userList = new ArrayList<User>();
userList.add(user);
course.setUserList(userList);
return course;
}
public List<Course> getList(List<String> paramList) {
for (int i = 0; i < paramList.size(); i++) {
System.out.println((String) paramList.get(i));
}
List<Course> courseList = new ArrayList<Course>();
Course course = new Course();
course.setName("getList: EeeDDDDDD");
User user = new User();
user.setName("getList: liaokun");
List<User> userList = new ArrayList<User>();
userList.add(user);
course.setUserList(userList);
courseList.add(course);
return courseList;
}
public Collection<User> getCollection(){
Collection<User> collection = new HashSet<User>();
for (int i = 0; i < 5; i++) {
User user = new User();
user.setName("user"+i);
collection.add(user);
}
return collection;
}
}
下面是上述接口和实现类涉及到的POJO类:
package demo;
import java.util.Collection;
import java.util.List;
import java.util.Map;
import java.util.Set;
/**
* @author dreava Nov 10, 2008
*/
public class Course {
private String name;
private List<User> userList;
public Collection<User> collection;
public Collection<User> getCollection() {
return collection;
}
public void setCollection(Collection<User> collection) {
this.collection = collection;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public List<User> getUserList() {
return userList;
}
public void setUserList(List<User> userList) {
this.userList = userList;
}
}
package demo;
/**
* @author dreava Nov 10, 2008
*/
public class User {
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
由于文章长度限制,余下部分见XFire+Spring发布Web Service(二)
分享到:
相关推荐
使用XFire+Spring构建Web Service使用XFire+Spring构建Web Service使用XFire+Spring构建Web Service使用XFire+Spring构建Web Service使用XFire+Spring构建Web Service使用XFire+Spring构建Web Service
使用XFire+Spring构建Web Service步骤以及源代码.rar
使用XFire+Spring使用XFire+Spring构建Web Service(二).doc构建使用XFire+Spring构建Web Service(二).docWeb Service(二).doc
使用XFire+Spring构建Web Service步骤 java
1 支持一系列Web Service的新标准--JSR181、WSDL2.0 、JAXB2、WS-Security等; 2 使用Stax解释XML,性能有了质的提高。XFire采用Woodstox 作Stax实现; 3 容易上手,可以方便快速地从pojo发布服务; 4 支持...
使用XFire+Spring构建Web Service.doc 该文章讲解了整个的配置流程,按照该流程可以完成框架搭建。该文章是转载其他人的,因为没有积分,所以不得以而为之。惭愧。
本文档主要描述xfire整合spring发布web services 绝对的真实可靠,按步骤操作一定成功
实现 xFire与 Spring 的集成
使用XFire+Spring构建Web Service。自己参考网上的讲解写的例子。里面有help.txt 介绍了我参考的xfire+spring集成的网址。
Xfire配置Web Service+Spring+Hibernate详细流程