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.1 项目结构 创建一个适合的项目结构,通常包括src/main/java(源代码)、src/main/resources(配置文件)以及Web应用的WEB-INF目录。 #### 2.2 添加XFire相关jar 将XFire的jar包放入项目的...
这些文件可能包含了一个使用Xfire框架搭建的Web服务服务器端和客户端的实例。服务器端代码通常负责暴露服务,接收请求并返回响应,而客户端代码则负责调用这些服务并处理响应。 通过学习和实践这些示例,开发者可以...
【描述】: 本实例主要分为两个部分——发布WebService服务器端和调用WebService客户端。首先,我们将学习如何创建一个简单的服务接口和服务实现,然后通过XFire将其发布为SOAP Web服务。接着,我们将了解如何创建一...
### 一、服务器端搭建 1. **创建Web项目** 由于Web服务是基于网络的,服务器端需要是Java Web项目。首先,我们需要创建一个新的Java Web项目。 2. **导入Xfire库** 将xfire-1.2.6版本的JAR文件引入项目中。这些...
在服务器端,我们首先需要在开发环境中(本例使用MyEclipse)创建一个新的WebService项目。这一步骤主要涉及项目结构的搭建,包括项目名称的设定以及项目类型的指定。接下来,需要在项目中编写一个具体的类,例如`...
在提供的"TestXFireServer"文件中,很可能是包含了一个简单的XFire服务服务器端的测试程序。你可以运行这个程序,查看其如何设置和启动服务。同时,也可以参考这个示例来创建自己的服务和客户端。 总之,XFire是一...
- 服务器端需要的XFire包有XFire Core。客户端除了XFire Core外,还需要XFire HTTP和XFire JAXB2。 3. **组织项目结构**: - 在src目录下创建包`org.ssmyyll.service`。 - 项目目录结构如下所示: ``` src/ -...
5. **部署服务**:使用CXF的服务器端组件,如Jetty或Tomcat,将服务部署为一个可访问的Web服务。这通常涉及到创建一个Spring配置文件或者使用CXF的命令行工具。 6. **消费服务**:在客户端,你可以使用CXF的客户端...
为了演示如何搭建一个简单的Webservice环境,这里给出一个使用Axis2作为服务器端和gSOAP作为客户端的例子: 1. **安装Axis2**: - 解压axis2-1.5.4-war.zip中的axis2.war至Tomcat的webapps目录。 - 访问...
2. **自动代码生成**:可以自动生成服务客户端和服务器端的代码,节省了大量的手动编码工作。 3. **多种协议支持**:XFire不仅支持SOAP 1.1和1.2,还支持RESTful Web服务,以及WS-*规范如WS-Security、WS-...
JAXM是服务器端相关的规范,SAAJ则在服务器和客户端都可能使用。它们的API分别位于javax.messaging和javax.xml.soap包中。JAXM和SAAJ暴露了SOAP协议的更多底层细节,因此在开发时需要更细致地处理SOAP消息。 3. JAX...