`
hua2142452
  • 浏览: 66362 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

webservice -XFire 服务器端环境搭建

阅读更多
1、配置XFire运行环境:
新建一个Web 工程,命名为xfire,然后在web.xml文件中添加xfire配置
<?xml version="1.0" encoding="GB2312">   
<!DOCTYPE web-app   
    PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"   
    "http://java.sun.com/dtd/web-app_2_3.dtd">   
       
<web-app>   
   
  <servlet>   
    <servlet-name>XFireServlet</servlet-name>   
    <display-name>XFire Servlet</display-name>   
    <servlet-class>org.codehaus.xfire.transport.http.XFireConfigurableServlet</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>   
   
</web-app>   



其中主要就是引入了XFireServlet,用以处理Web Service请求,并且负责提供Web Service的WSDL
2.开发一个webservice,创建三个类
    Person

package com.eagle.bean;

import java.io.Serializable;
import java.util.Date;

public class Person implements Serializable {

	private int id;

	private String name;

	private int age;

	private Date birthday;

	public int getId() {
		return id;
	}

	public void setId(int id) {
		this.id = id;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public int getAge() {
		return age;
	}

	public void setAge(int age) {
		this.age = age;
	}

	public Date getBirthday() {
		return birthday;
	}

	public void setBirthday(Date birthday) {
		this.birthday = birthday;
	}

	public String toString() {
		return "id:" + id + ", name:" + name + ", age:" + age + "birthday: "
				+ birthday;
	}
}




PersonService:

package com.eagle.service;

import java.util.Date;
import java.util.List;

import com.eagle.bean.Person;

/**
 * TODO web服务接口 date:Jan 14, 2010 time:2:29:49 PM author:wxj
 * email:jxauwxj@126.com
 */
public interface PersonService {

	/**
	 * 返回一个String类型
	 * 
	 * @param name
	 * @return
	 */
	public String sayHello(String name);

	/**
	 * 返回一个int类型
	 * 
	 * @return
	 */
	public int getAge();

	/**
	 * 返回一个Date类型
	 * 
	 * @return
	 */
	public Date getBirthday();

	/**
	 * 返回一个自定义类型
	 * 
	 * @return
	 */
	public Person getPerson();

	/**
	 * 返回一个复杂类型
	 * 
	 * @return
	 */
	public List<Person> getPersons();

}



PersonServiceImpl
package com.eagle.service;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

import com.eagle.bean.Person;

/**
 * TODO web服务接口实现类 date:Jan 14, 2010 time:2:29:49 PM author:wxj
 * email:jxauwxj@126.com
 */
public class PersonServiceImpl implements PersonService {

	public int getAge() {
		return (int) (Math.random() * 100);
	}

	public Date getBirthday() {
		return new Date();
	}

	public Person getPerson() {
		Person person = new Person();
		person.setId(1);
		person.setAge(60);
		person.setName("china");
		person.setBirthday(new Date());
		return person;
	}

	public List<Person> getPersons() {
		List<Person> persons = new ArrayList<Person>();

		Person person1 = new Person();
		person1.setId(1);
		person1.setAge(60);
		person1.setName("ls");
		person1.setBirthday(new Date());
		persons.add(person1);

		Person person2 = new Person();
		person2.setId(2);
		person2.setAge(50);
		person2.setName("bj");
		person2.setBirthday(new Date());
		persons.add(person2);

		Person person3 = new Person();
		person3.setId(3);
		person3.setAge(56);
		person3.setName("ww");
		person3.setBirthday(new Date());
		persons.add(person3);

		return persons;
	}

	public String sayHello(String name) {
		return "hello," + name + ",welcome to xfire";
	}

}



3.创建目录:src\META-INF\xfire

4.在此目录下新建文件services.xml
文件内容:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://xfire.codehaus.org/config/1.0">
    <service>
        <name>Person</name>
        <serviceClass>test.services.IPerson</serviceClass>
        <implementationClass>
            test.services.PersonImpl
        </implementationClass>
    </service>
</beans> 

5.如果不适用Myeclipse开发直接使用Myeclipse导入Myeclipse的xfire变量即可
如果不适用的话 则要在lib下放入xfire相关的jar包,
jar包下载地址:[url]http://xfire.codehaus.org/Download [/url]

OK,webservice服务器端创建完成,部署到tomcat下后 启动tomcat

在浏览器中输入http://localhost:8080/fire/services/person?WSDl
即可看到webservice相关配置了。

上一篇已经讲述了webservice客户端开发
分享到:
评论
2 楼 hua2142452 2011-01-24  
继续自己顶
1 楼 hua2142452 2010-08-18  
8cuo 8 cuo

相关推荐

Global site tag (gtag.js) - Google Analytics