到目前为止,我一直专注于用Java编写的SOAP Web服务。 要构建一个新的SOAP WS,我的方法就像这样(主要步骤):
此外,要为此WS构建Java客户端,我将重用WSDL和XSD并将其包装在单个JAR中,并使用一些帮助程序来调用WS。
所以采用“自上而下”的方法。我正在使用Apache CXF来构建和部署我的WS,特别是它的WSDL2Java工具。
今天,我需要创建一个RESTful WS,它只消耗和生成JSON数据。 我做了一些研究,我可能会使用的工具是泽西岛或Apache CXF(很可能是泽西岛)。但不管怎样,我不知道我的方法是什么。
它可以与SOAP Web服务相同吗?我知道有WADL,但在我的情况下它可以用作WSDL,特别是我的目标是使用JSON吗?我希望我的POJO也可以从一些模式生成,比如用于SOAP WS的JAXB类,以便更好地维护。
我完全偏离这个主题吗?我知道不应该以同样的方式看待REST和SOAP。
你可以帮我理解吗?感谢答案 0 :(得分:0)
您基本上可以使用REST执行相同的过程,但有一些小但重要的区别:
步骤1 :定义应该可用的资源,并为这些资源的表示定义XML / Json /的模式。这在HTTP用语中称为Mime类型。它可以包含数据的Schema,但更重要的是描述了存在什么类型的链接及其含义。 (链接到下一个结果列表,链接到所有者,链接到详细信息等)除了技术描述哪些字段是必需/可选等之外,还要描述语义。
第2步:如果您愿意,可以生成课程。我找到了一个项目,说它可以为json做{:3}},我相信还有其他的。
第3步:实施。
第4步:部署。
注意:没有WSDL或“服务类”等于SOAP的。这是因为REST 包含导航和语义信息(如果它正确完成)。没有必要描述服务的位置或如何访问它,因为所有客户端都可以通过链接到达那里,并且所有客户端都知道GET。这实际上使得实现客户端也与SOAP不同。