cxf呼叫服務的幾種方式
阿新 • • 發佈:2019-02-01
客戶端匯入的包
方式一
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));