xfire新手上路
环境:JDK1.5,tomcat5.5,myeclipse7.5
1.先创建一个web project工程xfire_project,把下载的xfire相产的jar包导入工作,也可以选择myeclipse自带的xfire core library.
2.新建接口类HelloWorld.java
package com.webservice;public interface HelloWorld {public String sayHello(String name);}package com.webservice;public class HelloWorldImpl implements HelloWorld {@Overridepublic String sayHello(String name) {return "Hello, "+(name==null?"":name.trim());}}<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://xfire.codehaus.org/config/1.0"><service><name>HelloWorld</name><namespace>helloworld</namespace><serviceClass>com.webservice.HelloWorld</serviceClass><implementationClass>com.webservice.HelloWorldImpl</implementationClass></service></beans>
<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>
import java.net.MalformedURLException;import org.codehaus.xfire.XFire;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 com.webservice.HelloWorld;public class HelloWorldClient {/** * @param args */public static void main(String[] args) throws Exception{// TODO Auto-generated method stubService serviceModel = new ObjectServiceFactory().create(HelloWorld.class);XFire xfire = XFireFactory.newInstance().getXFire(); XFireProxyFactory factory = new XFireProxyFactory(xfire); String serviceUrl = "http://localhost:8080/XFire/services/HelloWorld"; HelloWorld client = (HelloWorld) factory.create(serviceModel, serviceUrl); System.out.println(client.sayHello("Jack"));}}