在Eclipse中使用和测试Web服务

你能说出如何在Eclipse中测试和使用Web服务的最佳方法吗?

我对Web服务没有什么经验,也就是说,我使用了生成客户端存根的Apache Axis插件。

我现在不需要编写自己的Web服务,只使用现有的Web服务。 我有Eclipse Java EE,我可以下载任何插件。 你会建议什么?

为了测试Web服务,最好的工具是IMHO soapUI ,它可以作为eclipse插件使用,并且远远超过我使用的任何其他工具。

要使用Web服务,值得注意的是Eclipse现在有一个使用Apache CXF实现的JAX-WS工具项目 (在Web Tools Incubator中 )(请让Axis 2死掉)。

要安装此项目,请将Eclipse更新站点管理器指向Eclipse Web Tools Platform(WTP)项目更新站点 – http://download.eclipse.org/webtools/updates 。 当您访问更新站点时,您应该看到列表中提供的CXF Web服务(孵化器)function:

替代文字

安装和配置后( Window> Preferences …> Web Services> CXF 2.x Preferences ),您将能够使用CXF运行时测试Web服务(和/或创建CXF Web服务项目 ,请参见下图即使这不是你的第一个目标)。

alt text http://www.corneliadavis.com/blog/wp-content/uploads/2009/08/creatingcxfproject1.JPG

您将在此处找到一些video剪辑,向您展示如何使用JAX-WS工具创建和部署Bottom-Up和Top-Down Web服务。

您的Java EE Eclipse已包含WTP(Web工具平台) ,因此您不应下载其他插件。

您现在需要的只是遵循其中一个教程


WTP:

Eclipse Web Tools Platform(WTP)项目使用用于开发Web和Java EE应用程序的工具扩展了Eclipse平台

它包括一个包含2个组件的Web服务部分 :

  • JST Web服务组件包含用于开发Java Web服务并与之交互的工具。
  • WST Web服务组件包含用于Web服务开发的工具,这些工具不是Java特定的。

看看Eclipse Swordfish项目 。

从它的主页:

Swordfish项目的目标是基于成熟的Eclipse Equinox运行时技术提供可扩展的SOA框架。 该框架旨在通过其他开源组件(如服务注册表,消息传递系统,流程引擎等)进行补充,以形成基于既定和新兴开放标准的全面开源SOA运行时环境。

将WSDL文件添加到Eclipse项目的根目录,右键单击它,选择“Web服务”和“生成客户端”,将光标设置为“Assemble”,Eclipse将生成允许您与之通信的Java代码Web服务。

我相信使用Eclipse测试Web服务的最简单方法是Axis2插件,该插件捆绑在Java EE版本中。 这是一篇关于它的文章 。 它侧重于服务而不是客户端,但如果您已经拥有正在运行的服务并且想要创建客户端,则更容易。

Axis2插件适用于通过WSDL创建Web服务测试。 我只在Eclipse中以这种方式测试了一个简单的SOAP Web服务。

我自己无法做的是创建另一个项目,例如Dynamic Web App项目,并从该Web服务创建客户端WSDL。 我可以将WSDL复制到我的新项目中,但这很愚蠢。 实际上,我们不会复制我们基于Web服务WSDL生成的WSDL,而是通过指向该Web服务的注册地址。

我已经阅读了一些有关CXF选项的内容,并认为我添加了我需要使用它的内容。 到目前为止,我还没有看到Eclipse中的任何Web服务选项,除了在同一个项目中创建和测试Web服务,这对我来说很少或没有用。