1. 程式人生 > >cxf呼叫服務的幾種方式

cxf呼叫服務的幾種方式

客戶端匯入的包


方式一

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