关闭

cxf调用服务的几种方式

218人阅读 评论(0) 收藏 举报

客户端导入的包


方式一

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));


0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:5758次
    • 积分:131
    • 等级:
    • 排名:千里之外
    • 原创:7篇
    • 转载:5篇
    • 译文:0篇
    • 评论:0条
    文章分类