SOA技术研究之 图解JAX-WS技术

阅读更多

1. JAX-WS

SOA技术研究之 图解JAX-WS技术_第1张图片

2. JAX-WSJAX-RPC之间的区别

最主要的区别在于JAX-RPC主要支持用RPC方法来传输消息。而JAX-WS主要支持用HTTP方法来传输消息。(RPC是曾经火红一时的CORBA消息传递标准技术)

其他的区别可以参见以下:

SOA技术研究之 图解JAX-WS技术_第2张图片

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

SOA技术研究之 图解JAX-WS技术_第3张图片

3.3 根据已经生成好的wsdl文件抽出为客户端使用的中间文件

客户端想访问服务器端的web service的时候,需要使用一系列的中间接口。就好像CORBA里面的IDL文件一样。

这些中间文件可以按照以下方法生成:

SOA技术研究之 图解JAX-WS技术_第4张图片

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();

}

}

-以上-

你可能感兴趣的:(SOA,WebService,Glassfish,Eclipse,XML)