wsdl文档阅读参考https://www.cnblogs.com/yzw23333/p/7245104.html
1.java自带jdk发布一个简单的webservice,仅供测试使用,非常简单
import javax.jws.WebParam;
import javax.jws.WebService;
import javax.xml.ws.Endpoint;
@WebService
public class HelloWebService {
public String getMessage(@WebParam(name="name")String name,@WebParam(name="pass") String pass) {
return "0";
}
public static void main(String[] args) {
Endpoint.publish("http://localhost:8081/MyService/ServiceTest1", new HelloWebService());//发布服务
System.out.println("ServiceTest已启动");
}
}
2.动态创建webserver客户端
客户端需要的jar
<!--org.apache.cxf.transport.servlet.CXFServlet-->
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-transports-http</artifactId>
<version>${cxf.version}</version>
</dependency>
<!--不加这个包会报错Unable to locate spring NamespaceHandler for XML schema namespace [http://cxf.apache.org/jaxws]-->
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-frontend-jaxws</artifactId>
<version>${cxf.version}</version>
</dependency>
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.URL;
import java.util.HashSet;
import java.util.Map;
import java.util.Set;
import java.util.concurrent.Callable;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.FutureTask;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.TimeoutException;
import javax.wsdl.Definition;
import org.apache.commons.lang.StringUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.cxf.bus.CXFBusFactory;
import org.apache.cxf.endpoint.Client;
import org.apache.cxf.endpoint.dynamic.DynamicClientFactory;
import org.apache.cxf.wsdl.WSDLManager;
/**
* webservice 调用器
*/
public class WebServiceInvoker {
/**
* 动态客户端工厂
*/
private static D