微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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:[email protected] 
 * @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:[email protected] 
 * @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:[email protected] 
 * @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;
	}
	
}
@H_502_68@ 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>
@H_502_68@ 文件结构如下图 

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

5.把web项目部署到tomcat上

写个测试类测下   

@H_502_68@

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:[email protected] 
 * @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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐