`
hua2142452
  • 浏览: 67628 次
  • 性别: 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

相关推荐

    整理xfire和spring的集成 web service 面向服务编程 java

    服务器端配置 #### 2.1 项目结构 创建一个适合的项目结构,通常包括src/main/java(源代码)、src/main/resources(配置文件)以及Web应用的WEB-INF目录。 #### 2.2 添加XFire相关jar 将XFire的jar包放入项目的...

    webservice (xfire,axis2)

    这些文件可能包含了一个使用Xfire框架搭建的Web服务服务器端和客户端的实例。服务器端代码通常负责暴露服务,接收请求并返回响应,而客户端代码则负责调用这些服务并处理响应。 通过学习和实践这些示例,开发者可以...

    使用XFire发布WebService

    【描述】: 本实例主要分为两个部分——发布WebService服务器端和调用WebService客户端。首先,我们将学习如何创建一个简单的服务接口和服务实现,然后通过XFire将其发布为SOAP Web服务。接着,我们将了解如何创建一...

    Xfire WebService框架搭建指南

    ### 一、服务器端搭建 1. **创建Web项目** 由于Web服务是基于网络的,服务器端需要是Java Web项目。首先,我们需要创建一个新的Java Web项目。 2. **导入Xfire库** 将xfire-1.2.6版本的JAR文件引入项目中。这些...

    xfire发布webservice

    在服务器端,我们首先需要在开发环境中(本例使用MyEclipse)创建一个新的WebService项目。这一步骤主要涉及项目结构的搭建,包括项目名称的设定以及项目类型的指定。接下来,需要在项目中编写一个具体的类,例如`...

    Webservices XFire框架的搭建与使用

    在提供的"TestXFireServer"文件中,很可能是包含了一个简单的XFire服务服务器端的测试程序。你可以运行这个程序,查看其如何设置和启动服务。同时,也可以参考这个示例来创建自己的服务和客户端。 总之,XFire是一...

    XFire开发Web Services

    - 服务器端需要的XFire包有XFire Core。客户端除了XFire Core外,还需要XFire HTTP和XFire JAXB2。 3. **组织项目结构**: - 在src目录下创建包`org.ssmyyll.service`。 - 项目目录结构如下所示: ``` src/ -...

    简单的xfire例子

    5. **部署服务**:使用CXF的服务器端组件,如Jetty或Tomcat,将服务部署为一个可访问的Web服务。这通常涉及到创建一个Spring配置文件或者使用CXF的命令行工具。 6. **消费服务**:在客户端,你可以使用CXF的客户端...

    webservice_简介

    为了演示如何搭建一个简单的Webservice环境,这里给出一个使用Axis2作为服务器端和gSOAP作为客户端的例子: 1. **安装Axis2**: - 解压axis2-1.5.4-war.zip中的axis2.war至Tomcat的webapps目录。 - 访问...

    xfire全部jar包

    2. **自动代码生成**:可以自动生成服务客户端和服务器端的代码,节省了大量的手动编码工作。 3. **多种协议支持**:XFire不仅支持SOAP 1.1和1.2,还支持RESTful Web服务,以及WS-*规范如WS-Security、WS-...

    CXF实用手册

    JAXM是服务器端相关的规范,SAAJ则在服务器和客户端都可能使用。它们的API分别位于javax.messaging和javax.xml.soap包中。JAXM和SAAJ暴露了SOAP协议的更多底层细节,因此在开发时需要更细致地处理SOAP消息。 3. JAX...

Global site tag (gtag.js) - Google Analytics