[英]Using webservices with javax.ws or javax.jws
我开始选择一种创建web服务的方法,所以我发现了两种方法:
1)使用包javax.jws,注释@WebService:
@WebService(...)
public class MyServiceImpl {
2)另一种方法是使用带注释@Path的javax.ws:
@Path("/MyService")
public class MyServiceImpl
据我所知,使用第二种解决方案更简单,因为当我需要创建客户端时,我只需要进行HTTP调用(GET / POST)。 使用第一个解决方案,我需要创建一个WSDL客户端,更复杂的解决方案。
所以,我想知道使用FIRST SOLUTION的优势是什么。
当必须建立正式契约来描述Web服务提供的接口时, SOAP / WSDL样式很有用.Web服务描述语言(WSDL)描述了Web服务的消息,操作,绑定和位置等详细信息。
当应用程序体系结构需要处理异步处理和调用时,SOAP / WSDL样式也很有用(例如,使用JAX-WS可以创建异步客户端)。
SOAP / WSDL样式的缺点是
它的复杂性:在带宽上创建一个更重的客户端需要工具:SOAP需要一个繁重的XML包装器,每个请求或响应复杂的安全规则
REST风格的优点是
简单性:可以从任何浏览器访问REST客户端(但是,这仅适用于GET方法。数据创建请求也需要XML包装器)。 带宽较轻:线上的数据通常是裸xml元素(未包含在<Envelope><Body>
标记内)。 可以使用http标准设置REST应用程序安全规则:管理员(或防火墙)可以通过分析请求中使用的HTTP命令来识别每条消息的意图。 例如,GET请求始终可以被认为是安全的,因为根据定义,它不能修改任何数据。
REST风格的缺点是它仍然不能满足所有业务需求
正式REST服务描述尚未接受通用标准REST请求(尤其是GET方法)不适合大量数据REST不包括所有Web服务标准,如事务,安全性,寻址,信任,协调,
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.