公司有一个新项目,要通过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]); // 输出返回结果
当作笔记记录了下来。