我对可用的Web服务的定义和实现存在一些困惑,需要一些澄清。以下是我迄今为止使用过的:
如果供应商向我提供特定格式的XML,我可以将其填充数据后发送HTTP POST请求到Internet上,并将XML字符串作为有效负载传递,这是否算作Web服务调用?如果是,那么这种Web服务有没有具体的名称?因为显然,它不使用类似于Axis、WSDL或SOAP的任何东西来建立此连接。
这个的变体就是,如果供应商向我提供了XSD,我使用JAXB将其转换成java类并传递对象的序列化版本,最终结果与选项1相同。
RESTful web service:供应商向我提供像http://restfulservice/products这样的URL地址,我可以通过HTTP请求访问该URL,并根据使用的HTTP动词调用适当的操作并发送响应。
以下是我只听说或大致了解的:
SOAP. 这是怎么工作的?我读过W3Schools的教程,我理解使用符合W3C标准的非常特定的XML来传递与选项1中相同类型的消息,但在实际生活中如何工作呢?供应商向我发送什么?我生成类吗?我序列化一些对象并将它们HTTP POST到一个地址上吗?还是生成的对象本身具有连接方法来代替我完成这些任务?
那WSDL呢?供应商什么时候会向我发送WSDL,我该怎么办?我猜我可以从WSDL生成类。如果是,请问我应该如何使用生成的类?
什么时候需要axis jar才能从供应商发送的某些内容中生成类?
正如您所看到的,我对可用的不同类型的Web服务有一些明确的和其他大多数模糊的想法。如果有人可以澄清和/或指向更多现实世界的资源,那将非常有帮助。我在互联网上稍微了解了一下Java Web Services,但被扔给我的众多四个字母的缩写让我感到头晕。
谢谢