1.使用Eclipse创建服务端后,新开一个Eclipse窗口(另一个WorkSpace)
2.新建一个Java Project。将xfire相关jar包导入工程。
3.创建如下目录结构中的各个文件。service接口类和domain要拷贝过来,且domain类的包名和服务端必须一样。
目录结构如下:
serviceFactory代码:
package com.sf.factory;
import java.net.MalformedURLException;
import org.codehaus.xfire.client.XFireProxyFactory;
import org.codehaus.xfire.service.Service;
import org.codehaus.xfire.service.binding.ObjectServiceFactory;
public class servcieFactory {
public static Object getService(String url,Class clazz){
//创建serviceModel
Service serviceModel = new ObjectServiceFactory().create(clazz);
Object service = null;
try {
service = new XFireProxyFactory().create(serviceModel,url);
} catch (MalformedURLException e) {
e.printStackTrace();
}
return service;
}
}
Client代码:
package com.sf.client;
import java.util.ArrayList;
import java.util.List;
import com.sf.factory.servcieFactory;
import com.sf.module.expired.webService.domain.ExpiredResult;
import com.sf.service.IGetExpiredLists;
public class Client {
public static void main(String [] args){
String url = "http://localhost:8080/OETS/services/getExpiredLists";
IGetExpiredLists service = (IGetExpiredLists) servcieFactory.getService(url, IGetExpiredLists.class);
List<String> mailnoList = new ArrayList<String>();
mailnoList.add("321909922677");
List<List<ExpiredResult>> expLists = service.getDefResultByWaybillNos(mailnoList);
List<ExpiredResult> expiredResults = expLists.get(0);
for(ExpiredResult expiredResult:expiredResults){
System.out.println("责任区"+expiredResult.getDutyAreaCode());
}
}
}
运行Client类就行了。