CXF 客戶端 遠端呼叫WebService(筆記)
阿新 • • 發佈:2019-01-02
公司有一個新專案,要通過CXF webservice實現使用者的登入,webservice不需要我來寫,只需要我來呼叫,傳入登入所需要的引數即可。
網上又找到一些示例程式碼,大都是通過代理生成遠端服務的代理物件,這種方法需要伺服器提供jar包的支援,而且需要服務端的程式碼也必須是java程式碼編寫,這種就不太好,約束太多,而且不符合webservice的理念
最後還是看到了一種方法,只需要指定伺服器端的WSDL檔案的位置,然後指定呼叫的方法,引數,接收返回值就行了,。
通過CXF的JaxWsDynamicClientFactory來指定WSDL的位置,
<span style="white-space:pre"> </span>JaxWsDynamicClientFactory clientFactory = JaxWsDynamicClientFactory.newInstance(); Client client = clientFactory.createClient("http://192.168.1.21:8080/UserCenter/webservice/userLoginService?wsdl"); Object[] result = client.invoke("login", "coffee01", "123456"); // 設定呼叫的方法login 引數1,引數2 System.out.println(result[0]); // 輸出返回結果
當作筆記記錄了下來。