xfire中对集合的配置
对xfire的各种方法映射和集合映射做一个总结,jar包就是xfire下面的所有。
User类:
?接口IHelloService.java:
?
IHelloService.doc.xml应该可以不用写吧:
?客户端代码HelloClient类:
import java.net.MalformedURLException;import java.net.URL;import java.util.ArrayList;import java.util.HashMap;import java.util.HashSet;import java.util.List;import org.codehaus.xfire.client.Client;import org.codehaus.xfire.client.XFireProxyFactory;import org.codehaus.xfire.service.Service;import org.codehaus.xfire.service.binding.ObjectServiceFactory;import org.forever.entity.PageInfo;import org.forever.entity.User;import org.forever.webservice.IHelloService;public class HelloClient {public static void main(String[] args) {//创建服务Service service = new ObjectServiceFactory().create(IHelloService.class);//创建代理工厂XFireProxyFactory fireProxyFactory = new XFireProxyFactory();//服务地址try {IHelloService helloService = (IHelloService) fireProxyFactory.create(service, "http://127.0.0.1:8080/WebService/services/helloService");System.out.println(helloService.sayHello("我是神话"));User user = new User(1,"wrwr","wrwrwr");helloService.get(user);System.out.println(user.getUsername());List<User> users = new ArrayList<User>();users.add(new User(1,"wrwr","wrwrwr"));users.add(new User(1,"wrwr","wrwrwr"));users = helloService.getAll(users);System.out.println(users.size());System.out.println("***************************");PageInfo pageInfo = helloService.getPage(new User(), new ArrayList(),new HashSet<User>(),new HashMap<String, User>());System.out.println("客户端交互完成");} catch (MalformedURLException e) {e.printStackTrace();}System.out.println("使用client交互:");Object[] results;try {Client client = new Client(new URL("http://127.0.0.1:8080/WebService/services/helloService?wsdl"));results = client .invoke("sayHello", new Object[] {"我来了哈"});System.out.println(results[0]);} catch (MalformedURLException e) {e.printStackTrace();} catch (Exception e) {e.printStackTrace();}}}?
?
在运行客户端代码一定要引入业务接口的包,如果在一个项目里面就可以省略。