加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

webservice之xfire服务器端开发

发布时间:2020-12-16 22:28:14 所属栏目:安全 来源:网络整理
导读:XFire确实比Axis简单了不少 方法一,使用向导步骤如下: 1. File -- new -- Web Service Project (Optional Maven Support) -- ?? 输入xfireServer--选择XFire--next--选择所需jar包(第一二个就行了) 图解: ??? 2. 定义一个实体类Person,一个接口PersonServ

XFire确实比Axis简单了不少

方法一,使用向导步骤如下:


1. File --> new --> Web Service Project (Optional Maven Support) -->
?? 输入xfireServer-->选择XFire-->next-->选择所需jar包(第一二个就行了)

图解:

???





2. 定义一个实体类Person,一个接口PersonService,一个PersonService的实现类PersonServiceImpl

Person代码:

package com.eagle.bean;

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

/**
*TODO 实体类
*date:Jan 14,2010
*time:2:29:49 PM
*author:wxj
*email:jxauwxj@126.com
*/
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代码:

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

/**
*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. 注册web 服务,File --> new --> other --> MyEclipse --> Web Services --> 选择XFire,选择
?? create web service from Java bean(Bottom-up scenario) --> next --> 输入服务名
  --> 选择Service interface,Service impl. class --> fininsh

在services.xml中生成:

<service>
?? <name>personService</name>
?? <serviceClass>com.eagle.service.PersonService</serviceClass>
?? <implementationClass>
??? com.eagle.service.PersonServiceImpl
?? </implementationClass>
?? <style>wrapped</style>
?? <use>literal</use>
?? <scope>application</scope>
</service>

4. 部署到tomcat,并启动服务器,在浏览器输入http://localhost:9999/xfire/services,出现
Available Services:

?? *personService [wsdl]

?? 点击其可看到描述服务的xml,复制其url,可以MyEclipse中的Web Service Explorer中测试


-----------------------------------------------------------------

也可以不使用向导,

方法二:步骤如下:

1.创建一个普通的web工程,加入xfire相关jar包


 2.在web.xml中加入
????????? <servlet>
???? <servlet-name>XFireServlet</servlet-name>
???? <servlet-class>org.codehaus.xfire.transport.http.XFireConfigurableServlet</servlet-class>
???? <load-on-startup>0</load-on-startup>
????????? </servlet>
?? <servlet-mapping>
????? <servlet-name>XFireServlet</servlet-name>
????? <url-pattern>/services/*</url-pattern>
?? </servlet-mapping>


3.在src下新建META-INF/xfire/文件夹,再新建一个services.xml
放在src/META-INF/xfire/文件夹下


4.写一个接口HelloService,和一个接口的实现类HelloServiceImpl


5.注册web服务,在services.xml中加入
<service>
??   <name>helloService</name>
??   <serviceClass>com.eagle.service.HelloService</serviceClass>
   <implementationClass>
???    com.eagle.service.HelloServiceImpl
??   </implementationClass>
??   <style>wrapped</style>
??   <use>literal</use>
??   <scope>application</scope>
</service>


6.访问:http://localhost:9999/xfiretest/services即可

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读