1. 什么是JAX-WS
2. JAX-WS和JAX-RPC之间的区别
最主要的区别在于JAX-RPC主要支持用RPC方法来传输消息。而JAX-WS主要支持用HTTP方法来传输消息。(RPC是曾经火红一时的CORBA消息传递标准技术)
其他的区别可以参见以下:
3. 一个JAX-WS的小例子
3.1 必要环境
○ JDK
○ eclipse
○ glassfish
3.2 一个最简单的WebService的实例
package WebService.Sample;
import javax.jws.WebService; import javax.jws.WebMethod; import javax.xml.ws.Endpoint;
@WebService public class Hello { @WebMethod public String sayHello(String name) { return "Hello, " + name + "!"; }
public static void main(String[] args) { // WebService的公开 Endpoint.publish("http://localhost:9999/hello", new Hello()); }
} |
通过编译和执行以上代码,你就能将该service部署到服务器上。
你可以通过访问以下url来看看自己部署上去的wsdl文件
http://localhost:9999/hello?wsdl |
3.3 根据已经生成好的wsdl文件抽出为客户端使用的中间文件
客户端想访问服务器端的web service的时候,需要使用一系列的中间接口。就好像CORBA里面的IDL文件一样。
这些中间文件可以按照以下方法生成:
3.4 编写客户端,访问我们的WebService
package WebService.Sample; import javax.xml.ws.WebServiceRef;
public class HelloClient { public HelloClient() { // 取得WebService的接口 HelloService service = new HelloService(); Hello port = new Hello(); port = service.getHelloPort(); //开始调用WebService的方法 String result = port.sayHello("World"); System.out.println(result); }
public static void main(String[] args) { new HelloClient(); } } |
-以上-