将webservices与javax.ws或javax.jws一起使用

时间:2016-04-15 20:11:35

标签: java web-services

我开始选择创建网络服务的方法,所以我找到了两种方法:

1)使用包javax.jws,注释@WebService:

 @WebService(...)
public class MyServiceImpl {

2)另一种方法是使用带有注释@Path:

的javax.ws
@Path("/MyService")
public class MyServiceImpl

据我所知,使用第二种解决方案更简单,因为当我需要创建客户端时,我只需要进行HTTP调用(GET / POST)。使用第一个解决方案,我需要创建一个WSDL客户端,更复杂的解决方案。

所以,我想知道使用FIRST SOLUTION的优势是什么。

1 个答案:

答案 0 :(得分:0)

当必须建立正式合同来描述Web服务提供的接口时, SOAP / WSDL 样式很有用.Web服务描述语言(WSDL)描述了消息,操作等详细信息,Web服务的绑定和位置。

当应用程序体系结构需要处理异步处理和调用时(例如,使用JAX-WS可以创建异步客户端),SOAP / WSDL样式也很有用。

SOAP / WSDL样式的缺点是

其复杂性:创建客户端需要工具    带宽更重:SOAP要求每个请求或响应都有一个沉重的XML包装器 复杂的安全规则

REST风格的优点是

简单:可以从任何浏览器访问REST客户端(但是,这仅适用于GET方法。数据创建请求也需要XML包装器)。 带宽更轻:线上的数据通常是裸xml元素(不包含在<Envelope><Body>标签内)。 可以使用http标准设置REST应用程序安全规则:管理员(或防火墙)可以通过分析请求中使用的HTTP命令来识别每条消息的意图。 例如,GET请求始终可以被认为是安全的,因为根据定义,它不能修改任何数据。

REST风格的缺点是它仍然无法满足所有业务需求

尚未接受正式REST服务描述的通用标准 REST请求(尤其是GET方法)不适合大量数据 REST不涵盖所有Web服务标准,如事务,安全性,寻址,信任,协调,