好的,这可能是个非常基础和简单的问题,但由于我从未有机会在Web服务上工作,它一直困扰着我。
我们可以通过非常基本/简单的实现(比如servlet)从我们的服务器获得相同的“文本内容”响应(XML、JSON等),那么为什么有人必须开发Web服务呢?
相比简单的HTTP响应,Web服务提供了什么例外情况呢?
好的,这可能是个非常基础和简单的问题,但由于我从未有机会在Web服务上工作,它一直困扰着我。
我们可以通过非常基本/简单的实现(比如servlet)从我们的服务器获得相同的“文本内容”响应(XML、JSON等),那么为什么有人必须开发Web服务呢?
相比简单的HTTP响应,Web服务提供了什么例外情况呢?
基本上,从低级别的角度来看,您是正确的,它只是套接字上的文本(XML)。
对于简单的Web服务,Servlet是足够的(我正在编写其中之一)。
然而,当谈到SOAP和WSS-* Web服务等内容时,有很多模板处理和特性可以从Web服务工具包公开为更高级别的事务。
一个简单的例子是数据编组。 如果您将其纯粹视为XML,则您的服务基本上必须手动处理XML —— 解析它,评估它,填充内部模型等。
与此相反,这是Java EE中的某些内容:
@WebService
public Person getPerson(String personId) {
Person p;
...
return p;
}
这要看情况。如果您的 Web 服务需要回答一个简单的是/否问题,比如“这个用户名存在吗?”,那么返回 yes、no、0、1 等可能就足够了。如果您的服务需要返回所有的属性,那么由于其结构化特性,XML 或 JSON 可能更合适。相对于尝试解析纯文本,它们更不容易出现解析错误。