我对网络服务完全陌生,目前我正在尝试从在线文档中学习JAX-WS - http://docs.oracle.com/javaee/6/tutorial/doc/bnayl.html
该文档提供了有关如何使用Netbeans IDE
创建和部署Web服务的步骤,我已按照步骤操作并能够部署和测试示例。但我无法理解应用程序如何部署到Glassfish server
,以及是否需要任何其他配置告诉服务器我的项目包含Web服务代码。
此外,我不清楚SOAP
请求和响应xml文件的元素是什么?也是WSDL
文件的元素。
如果有替代文档或书籍给我这些详细信息,请告诉我吗?
答案 0 :(得分:1)
在我个人看来,你挣扎的原因是缺乏java中的web应用程序开发知识。基本上,Web服务被打包为Web应用程序并部署在Web服务器上,例如tomcat,glassfish等。诸如Netbeans之类的IDE提供了在关联的Web服务器上部署Web应用程序的方法。实际上,这些IDE只是创建war(Web应用程序存档)文件,将其复制到Web服务器部署目录并启动Web服务器。
了解Web应用程序和您选择的Web服务器将有助于您了解如何部署JAX-WS Web服务。
Axis只是在java中编写webservices的框架之一。大多数avaialble框架都符合JAX-JWS,使编写Web服务变得更容易。
希望此信息有所帮助。
答案 1 :(得分:1)
首先,您需要了解Web服务类型并尝试按照您的要求实施
SOAP消息是用于传输数据的XML文档。 WSDL是一个XML文档,它描述了如何连接和向Web服务发出请求。
基本上,SOAP消息是您传输的数据,WSDL告诉您可以执行的操作以及如何进行调用。
如果它们不同,那么我什么时候应该使用SOAP消息?何时应该使用WSDL? Soap是您应用于消息/数据以进行传输的结构。 WSDL仅用于确定如何首先调用服务。当您第一次添加代码来调用特定的Web服务时,这通常是一次性的事情。
SOAP Web Services是基于标准的,几乎每个人都支持 软件平台:他们严重依赖XML并获得支持 事务,安全性,异步消息和许多其他问题。 这是一个相当大而复杂的标准,但几乎涵盖了所有标准 短信情况。另一方面,RESTful services依赖于 HTTP协议和动词(GET,POST,PUT,DELETE)交换 任何格式的消息,最好是JSON和XML。这很漂亮 简洁优雅的建筑方法。
RESTful服务方案
如果您的带宽有限
如果您的操作是无状态的:不保留任何信息 一次调用到下一个请求,并处理每个请求 独立地
如果您的客户需要缓存。
SOAP服务方案
如果您需要异步处理
如果您需要正式合同/接口
在您的服务操作中是有状态的:例如,您存储 请求上的信息/数据,并使用下一个存储的数据 之一。