"清晰讲解web_service几种调用方法及实现"

需积分: 3 1 下载量 146 浏览量 更新于2024-01-13 收藏 112KB DOC 举报
// create and publish an endpoint Hello hello = new Hello(); Endpoint endpoint = Endpoint.publish("http://localhost:8080/hello", hello); } } 2.然后利用jdk提供的工具wsimport生成客户端代码: wsimport -d generated -p HelloService -keep http://localhost:8080/hello?wsdl 3.生成客户端代码后可以利用客户端代码调用Web服务: HelloService helloService = new HelloService(); Hello hello = helloService.getHelloPort(); //调用Web 服务 System.out.println(hello.hello("Peter")); 二、利用Axis2调用 Web服务 1.首先创建服务端的Java 2个类文件(服务端执行:axis2.sh,或者axis.sh -generateServer部署web服务端): package org.test; public class Hello { public String sayHello(String name) { return "Hello, " + name; } } 2.然后生成相应的xml配置文件。使用WSDL2Java命令行工具生成客户端代码: WSDL2Java -uri http://localhost:8080/axis2/services/HelloService?wsdl -o client -p org.test 生成客户端代码后,利用客户端代码调用Web服务: HelloServiceStub stub = new HelloServiceStub(); HelloServiceStub.SayHello sayHello = new HelloServiceStub.SayHello(); sayHello.setName("Peter"); System.out.println(stub.sayHello(sayHello).get_return()); 三、使用CXF 调用 Web服务 1.创建服务端的代码: package org.test; import javax.jws.WebService; @WebService public class Hello { public String sayHello(String name) { return "Hello, " + name; } } 2.生成WSDL,在命令行中运行: java org.apache.cxf.tools.wsdlto.WSDLToJava -p org.test -d <生成的目标目录> Hello.wsdl 3.生成完客户端代码后,可以利用客户端代码调用Web服务: HelloService helloService = new HelloService(); Hello hello = helloService.getPort(Hello.class); System.out.println(hello.sayHello("Peter")); 综上所述,以上是利用不同的工具(JDK, Axis2, CXF)来调用Web服务的几种方法。每种方法都有自己的特点和适用场景,开发人员可以根据实际情况选择合适的工具来进行Web服务的调用,以达到快速、高效地开发目的。