昨天尝试用CXF编写了WebService的服务端,今天试着写了一个客户端来调用服务端。首先上网查了一下,发现有好几种写法,具体每一种方法可以参考这篇文章,我使用的是不需要wsdl2java工具直接进行编码的方式。具体wsdl2java工具的使用方法可以参考这篇文章。
一、客户端实例
package com.ws.main;
import org.apache.cxf.endpoint.Client;
import org.apache.cxf.jaxws.endpoint.dynamic.JaxWsDynamicClientFactory;
public class Main {
public static void main(String[] args) throws Exception {
JaxWsDynamicClientFactory factory = JaxWsDynamicClientFactory.newInstance();
Client client = factory.createClient("http://localhost:8080/ws-server-hand/services/AddService?wsdl");
Object[] result = client.invoke("add", 3, 4);
System.out.println(result[0]);
}
}
代码很简单,但是运行之后出现了一个问题,程序报了一个错:
No operation was found with the name {http://impl.server.ws.com/}add