您的位置:首页 > 其它

cxf调用服务的几种方式

2015-11-20 11:34 239 查看
客户端导入的包



方式一

JaxWsDynamicClientFactory clientFactory = JaxWsDynamicClientFactory.newInstance();

Client client = clientFactory.createClient("http://127.0.0.1:8080/item/ws/user?wsdl");

Object[] result = client.invoke("getUser",1L);
System.out.println(result[0]);

这种方式  有可能会出一个nullpointexception 需要修改 eclipse jdk的环境 换成jdk里的jre 而不是外面单独的jre

方式二

打开控制台 cmd 指定到 D:\DevelopTool\apache-cxf-3.1.4\bin   这个目录

输入指令 wsdl2java http://127.0.0.1:8080/item/ws/user?wsdl  在cxf会生成对应的文件  复制到项目中去 在做下面的操作

UserServiceService uss = new UserServiceService();

UserService us = uss.getUserServicePort();

User user = us.getUser(1L);

System.out.println(user);

方式三

这种方式也需要像上面那样 生成对应的java文件

JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean();

factory.setServiceClass(UserService.class);

factory.setAddress("http://localhost:8080/item/ws/user");

UserService service = (UserService) factory.create();

System.out.println("result:" + service.getUser(1L));
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: