我们可以通过非常基本/简单的实现(比如servlet)从我们的服务器获得相同的“文本库”响应(xml,json等),然后为什么有人必须开发Web服务。
Web服务通过简单的http响应提供的异常是什么?
答案 0 :(得分:5)
在基本级别,你是完全正确的,从低级别的角度来看,它只是套接字上的文本(XML)。
对于简单的Web服务,servlet就足够了(我正在写这些内容之一)。
然而,当谈论类似SOAP和WSS- * Web服务的东西时,Web服务工具包暴露为更高级别的事务的标准中有很多样板处理和功能。
一个简单的例子就是数据封送。如果你把它纯粹视为XML,那么你的服务基本上就是手工处理XML - 解析它,评估它,填充内部模型等等。
将此与Java EE中的相似内容进行对比:
@WebService
public Person getPerson(String personId) {
Person p;
...
return p;
}
Web服务堆栈将您的Person对象转换为符合SOAP的XML blob。它还将生成一个WSDL,您可以使用它来创建客户端代码(在许多平台上:.NET,PHP等)来制作Web服务代码。
最后,您的客户端和服务器只有几行代码,而框架会为您完成所有繁琐的工作解析,封送和发布。
因此,WS堆栈的价值在于它处理编写符合WSS的Web服务的大部分官僚作风。
这不是灵丹妙药,但对于许多现代实现,SOAP< - > SOAP远程处理可以是一个大多数跨平台的拖放事件。
答案 1 :(得分:0)
这取决于。如果您的Web服务需要回答一个简单的是/否问题,例如“这个用户名是否存在?”,那么返回yes,no,0,1等可能就足够了。如果你有一个返回所有教师属性的属性,那么XML或JSON可能是合适的,因为它具有结构化的特性。解析错误比尝试解析纯文本更不容易。