如何发布和发现java Web服务

时间:2012-06-08 21:20:40

标签: web-services rest jax-ws uddi juddi

我是使用java开发Web服务的新手。我有一个学术项目,我需要做动态服务组合。为此,我无法直接为特定服务创建服务客户端,因为如果我这样做,那么该客户端将仅调用该特定服务。客户端需要搜索各种Web服务,然后在运行时选择任何一个服务,并在运行时调用该服务。

我能够使用Eclipse(indigo)开发Web服务(JAX-WS),我还为该Web服务创建了客户端,并且每件事都运行良好。现在我的问题是,在创建客户端时,我很难编写客户端只调用该特定的Web服务(因为我使用服务的WSDL文件创建客户端)。但是我实际上需要调用任何一个搜索到的服务,但为此我需要将服务发布到某个地方,然后发现它,然后调用它。

我尝试将服务发布到juddiv3。但是在juddiv3上,我只能发布juddiv3提供的样本服务。当我尝试发布由我创建的服务时,它不会显示在已发布服务组中。

是否有任何其他UDDI服务器可以在我的本地计算机上安装,然后从中发布和发现服务。此外,我无法弄清楚如何创建一个客户端,该客户端将在运行时自行修改以从各种搜索服务中调用任何一项服务。

请提供必要的步骤和代码。

由于

3 个答案:

答案 0 :(得分:1)

您可以使用jUDDI(http://juddi.apache.org/)。

juddi 基于 UDDI v2.0,v 3.0

在这里,您可以发布和发现您的网络服务。

对于集成,您必须创建一些与 jUDDI 集成的应用程序。

但我认为对于您的学术项目,以及为您的目的,jUDDI是最合适的! (:))

答案 1 :(得分:0)

jUDDI在源代码主干中有一大堆示例。你可能想看看它们。很难从您提供的小信息中猜出问题是什么。请考虑联系jUDDI团队以获得进一步的帮助。 http://svn.apache.org/repos/asf/juddi/trunk/juddi-examples/。还有一个在jUDDI用户指南中使用UDDI的附加文档,该指南位于jUDDI网站

答案 2 :(得分:0)

您无法直接在jUDDI上发布。您还需要在jUDDI服务器中创建发布者实体。您将在独立服务器的juddi应用程序的“Classes”文件夹中找到Rename4Sales和Rename4Marketing示例。使用这些XML作为基础并创建自己的实体。您还需要配置服务器的登录凭据。

我建议您按照jUDDI博客上的教程进行操作。