服务器端
1.新建web工程
2.导入xfire的jar包:工程----->右键------>myEclipse----->add xFire----->next------>加入核心包core
3.在WebServices--->services.xml中配置
< service > < name > leiweiService </ name > < namespace > www.yinhe.edu.com/leiweiService </ namespace > < serviceClass > com.china.bank.TurnMoneyBank </ serviceClass > < implementationClass > com.china.bank.ChinaBank </ implementationClass > </ service >
4.编写接口和实现类
5.测试服务器是否部署成功:工程名+servlet的url地址
http://192.168.1.45:8080/webserviceServer/services/*?wsdl
客户端1:提供jar包
1.新建web工程
2.导入xfire的jar包:工程----->右键------>myEclipse----->add xFire----->next------>加入核心包core和http client包
3.得到服务器端提供的接口jar包并导入工程
4.新建servlet
5.在servlet中书写核心代码
Service servicemodel = new ObjectServiceFactory().create(TurnMoneyBank.class);// 通过客户端的接口来得到一个服务 XFire factory = XFireFactory.newInstance().getXFire();// 通过工厂得到XFire对象 XFireProxyFactory proxy = new XFireProxyFactory(factory);// 通过xfire对象实例化代理工厂 String serverurl = "http://172.18.27.146:8080/webserviceServer/services/leiweiService";//访问服务器上的方法地址 TurnMoneyBank turnMoneyBank = null; turnMoneyBank = (TurnMoneyBank) proxy.create(servicemodel, serverurl);//请求到对应地址的服务器 String msg = turnMoneyBank.turnMoney(myCount, targetCount, money);//调用服务器端接口中的方法
6.部署发布:工程名+servlet的url地址
客户端2:只提供地址
import java.net.MalformedURLException; import java.net.URL; import org.codehaus.xfire.client.Client; public class url { /** * xfire-all-1.2.4.jar, jdom-1.0.jar * @param args */ public static void main(String[] args) { try { Client c = new Client(new URL("http://172.18.27.146:8080/wservice/services/helloservice?wsdl")); //调用Client对象的invoke方法,指定web服务的方法名,和参数,返回值是一个Object型的数组。 //下面代码调用getName方法,这个方法没有参数用所以后一个参数使用new Object[0]。 Object[] results = c.invoke("getName", new Object[0]); //调用Client对象的invoke方法,指定web服务的方法名,和参数,返回值是一个Object型的数组。 //下面代码调用getAge方法,这个方法有参数用所以后一个参数使用new Object[]{params}。 String param = "leiwei"; int param2 = 300; Object[] results2 = c.invoke("getAge", new Object[]{param,param2}); System.out.println(results[0].toString() + "---" + results2[0].toString()); } catch (MalformedURLException e) { e.printStackTrace(); } catch (Exception e) { e.printStackTrace(); } } }
客户端3:提供地址,自动生成客户端
1.新建web/java工程
2.导入xfire的jar包:工程----->右键------>myEclipse----->add xFire----->next------>加入核心包core和http client包
7.修改helloserviceClient中main方法。即在其中调用想要的接口方法
http://www.cnblogs.com/sun_moon_earth/archive/2009/02/03/1383308.html