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

xfire_webService

发布时间:2020-12-17 00:20:24 所属栏目:安全 来源:网络整理
导读:用xfre创建webService很简单了 1.把需要的jar包复制到web项目的lib里 ? ??activation-1.1.jar ? ??commons-codec-1.3.jar ? ??commons-httpclient-3.0.jar ? ??commons-logging-1.1.1.jar ? ??jaxen-1.1-beta-9.jar ? ??jdom-1.0.jar ? ??log4j-1.2.15.jar ?

用xfre创建webService很简单了

1.把需要的jar包复制到web项目的lib里

? ??activation-1.1.jar

? ??commons-codec-1.3.jar

? ??commons-httpclient-3.0.jar

? ??commons-logging-1.1.1.jar

? ??jaxen-1.1-beta-9.jar

? ??jdom-1.0.jar

? ??log4j-1.2.15.jar

? ??mail-1.4.jar

? ??spring-1.2.6.jar

? ??stax-api-1.0.1.jar

? ??wsdl4j-1.6.1.jar

? ??wstx-asl-3.2.0.jar

? ??xbean-2.2.0.jar

? ??xbean-spring-2.8.jar

? ??xfire-all-1.2.6.jar

? ??xml-apis-1.0.b2.jar

? ??xmlParserAPIs-2.0.2.jar

? ??XmlSchema-1.1.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.写个服务接口Server.java

package com.dahafo.webService;
/** 
 * @author Zevi Qian E-mail:gosun@foxmail.com 
 * @version 创建时间:2013-5-9 下午11:09:28 
 * 服务接口 
 */
public interface Server {
	public String say(String name);
	public User getUser(User u);
}
? ? ? ? ? 实现接口?HelloServer.java

package com.dahafo.webService;
/** 
 * @author Zevi Qian E-mail:gosun@foxmail.com 
 * @version 创建时间:2013-5-9 下午11:12:06 
 * helloserverimpl 
 */
public class HelloServer implements Server {

	/* (non-Javadoc)
	 * @see com.dahafo.webService.Server#say(java.lang.String)
	 */
	@Override
	public String say(String name) {
		System.out.println("say方法被调用");
		return "你好,"+name+"!欢迎使用webService";
	}

	/* (non-Javadoc)
	 * @see com.dahafo.webService.Server#getUser(com.dahafo.webService.User)
	 */
	@Override
	public User getUser(User u) {
		u.setId("new:"+u.getId());
		u.setName("new:"+u.getName());
		return u;
	}

}
? User.java类

package com.dahafo.webService;
/** 
 * @author Zevi Qian E-mail:gosun@foxmail.com 
 * @version 创建时间:2013-5-10 上午12:15:25 
 * 用户 
 */
public class User {

	private String id;
	private String name;
	
	public User() {
	}
	public String getId() {
		return id;
	}
	public void setId(String id) {
		this.id = id;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	
}

4.发布服务

? ? 在src下创建META-INF ,在META-INF下创建xfire ,在xfire下创建services.xml ?内容如下

?

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://xfire.codehaus.org/config/1.0">
  <service>
  	<name>service</name>
  	<serviceClass>com.dahafo.webService.Server</serviceClass>
  	<implementationClass>com.dahafo.webService.HelloServer</implementationClass>
  </service>
</beans>

文件结构如下图?


在src下创建log4j的配置文件,内容自己编。

5.把web项目部署到tomcat上

写个测试类测下 ??


package com.dahafo.webService;

import java.net.MalformedURLException;

import org.codehaus.xfire.XFireFactory;
import org.codehaus.xfire.client.XFireProxyFactory;
import org.codehaus.xfire.service.Service;
import org.codehaus.xfire.service.binding.ObjectServiceFactory;

import sun.rmi.runtime.Log;

/** 
 * @author Zevi Qian E-mail:gosun@foxmail.com 
 * @version 创建时间:2013-5-9 下午11:27:45 
 * 类说明 
 */
public class TestService {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		Service serviceModel = new ObjectServiceFactory().create(Server.class);
		XFireProxyFactory factory = new XFireProxyFactory(XFireFactory.newInstance().getXFire());
		String url ="http://localhost:8080/xfire_webService/services/service";
		try {
			Server s= (Server)factory.create(serviceModel,url);
			System.out.println(s.say("zevi"));
			User u=new User();
			u.setName("小米");
			User newu=s.getUser(u);
			System.out.println("new id:"+newu.getId()+";new name:"+newu.getName());
		} catch (MalformedURLException e) {
			
			e.printStackTrace();
		};
	

	}

}
我的项目名称是xfire_webService,所以url就是http://localhost:8080/xfire_webService/services/service

(编辑:李大同)

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

    推荐文章
      热点阅读