如何学习java webservice

时间:2014-12-26 10:32:44

标签: java web-services soap axis2 soapui

给定一项工作,通过axis2工具和使用soap UI查看消息,了解eclipse IDE中java webservice或aka JAX-WS的用法。

查看了[http://docs.oracle.com/javaee/6/tutorial/doc/bnayl.html][1]上的一些示例,并尝试了一个示例,将数据库信息检索到soap ui消息,但仍然没有信心说我理解了所有内容。

需要明确以下几点:

  1. 什么是axis2工具以及与eclipse ide结合使用时的帮助
  2. soap ui - 正如名字所说的那样,如果我没有错,它的用户界面可以查看肥皂消息,但是使用soap ui运行web服务的其他方式是什么?开发人员采用soap ui的便利是什么
  3. 由于我同时学习带有理解工具负担的webservices,请指导我一些好的教程网站。

    谢谢

2 个答案:

答案 0 :(得分:1)

几年前我或多或少做过同样的事情。我的经验如下(您的里程可能会有所不同):

  • 你需要好好理解XSD
  • 当你看一些WSDL示例时,你会发现WSDL是XSD +开销很小,几乎总是相同的
  • 它有助于玩例子,我个人发现轴/轴2位有些笨拙,如果可能的话需要另外一个提供者,例如: JBoss或参考实现(Glassfish),但也许你之后必须使用轴,所以最好从一开始就坚持使用它。 SOAP UI没问题,你将它用作客户端。
  • 我单独阅读axis上的一本书和JAX_WS上的一本书。我会推荐JAX-WS书籍,它涵盖了所有理论背景,并提供了大量的例子。有点无聊阅读,但有利于入门和作为参考。

Axis2是WebService提供商。它是一堆库和工具,它们一方面为您所需的人工制品(来自WSDL的Java或其他方式)生成,另一方面,当打包成Web战时允许您通过部署战争来发布Web服务在容器中,例如tomcat的。 Yo可能首先将Eclipse中的一个示例部署到Tomcat(在Eclipse或外部运行),然后针对它编写和运行Java客户端。针对正在运行的服务编写简单客户端是针对SOAP UI的良好替代方案。 SOAP UI可帮助您了解协议(SOAP)级别的JAX-WS。对于轴(而不是轴2!)的播放,轴书有用。

答案 1 :(得分:-1)

而不是SOAP WebServices,请使用RESTful WebServices。构建RESTful Web服务以在Web上发挥最佳性能。

REST几乎总是会更快。 REST的主要优点是它提供了一种服务机制,可以向客户描述自己,并宣传它们的存在。

REST更轻量级,几乎可以使用任何工具实现,从而带来更低的带宽和更短的学习曲线。但是,客户必须知道要发送什么以及期望什么。

REST has no WSDL interface definition

REST is over HTTP, 
but SOAP can be over any transport protocols such HTTP, FTP, STMP, JMS etc.

"一般而言,当您向外部世界发布复杂或可能更改的API时,SOAP会更有用。除此之外,REST通常是更好的选择"。

在REST架构风格中,数据和功能被视为资源,可使用统一资源标识符(URI)进行访问,通常是Web上的链接。

REST is an architecture. REST will give human-readable results. 
REST is stateless. REST services are easily cacheable.

SOAP is a protocol. It can run on top of JMS, FTP, Http.

REST架构风格将架构限制为客户端/服务器架构,旨在使用无状态通信协议,通常为HTTP。在REST架构风格中,客户端和服务器通过使用标准化接口和协议来交换资源表示。