3.编写自己的webservice接口<servlet>
<servlet-name>XFireServlet</servlet-name>
<servlet-class>
org.codehaus.xfire.transport.http.XFireConfigurableServlet
</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>XFireServlet</servlet-name>
<url-pattern>/servlet/XFireServlet/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>XFireServlet</servlet-name>
<url-pattern>/services/*</url-pattern>
</servlet-mapping>
4.编写自己的webservice接口实现import java.rmi.Remote;
public interface IHelloXFire extends Remote{
public String hello(String name);
public Float add(Float a, float b);
}
5.编写services.xml文件放到META-INF/xfire下,[META-INF文件夹复制到WEB-INF下]import webservice.IHelloXFire;
public class HelloXFire implements IHelloXFire{
@Override
public String hello(String name) {
// TODO Auto-generated method stub
System.out.println("hello " + name +" by xfire");
return "webservice.impl.HelloXFire.hello() execute";
}
@Override
public Float add(Float a, float b) {
// TODO Auto-generated method stub
return a+b;
}
}
<?xml version="1.0" encoding="utf-8" ?>
<beans>
<service xmlns="http://xfire.codehaus.org/config/1.0">
<name>HelloXFire</name>
<namespace>http://simple.xfire.webservice/HelloXFire</namespace>
<serviceClass>webservice.IHelloXFire</serviceClass>
<implementationClass>webservice.impl.HelloXFire</implementationClass>
<scope>request</scope>
</service>
</beans>

运行截图:package webservice.client;
import java.net.MalformedURLException;
import org.codehaus.xfire.client.XFireProxyFactory;
import org.codehaus.xfire.service.Service;
import org.codehaus.xfire.service.binding.ObjectServiceFactory;
import webservice.IHelloXFire;
public class HelloXFireClient {
public static void main(String[] args) {
String url = "http://127.0.0.1:8080/MgXFire/services/HelloXFire";
Service serviceModel = new ObjectServiceFactory().create(IHelloXFire.class);
try {
IHelloXFire service = (IHelloXFire) new XFireProxyFactory().create(serviceModel, url);
String result = service.hello(System.getProperty("user.name"));
System.out.println("result = " + result);
Float returnValue = service.add(new Float(3.2), new Float(2.8));
System.out.println("returnValue = " + returnValue);
} catch (MalformedURLException e) {
e.printStackTrace();
}
}
}
客服端:
result = webservice.impl.HelloXFire.hello() execute
returnValue = 6.0
注意:webservice的接口一定要是同一个class,如果测试客户端不是在服务器端编写的话,就找不到webservice接口了。于是,我们需要将webservice接口export到处为jar文件,引入到自己的测试客户端。服务器端:
hello Administrator by xfire