xfire_webService

用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






评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值