2

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

我能够使用 Eclipse(靛蓝)开发 Web 服务(JAX-WS),我还为该 Web 服务创建了客户端,并且一切正常。现在我的问题是,在创建客户端时,我对客户端进行硬编码以仅调用该特定 Web 服务(因为我正在使用服务的 WSDL 文件创建客户端)。但是我实际上需要调用任何一个搜索到的服务,但为此我需要在某个地方发布该服务,然后发现它然后调用它。

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

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

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

谢谢

4

3 回答 3

1

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

juddi基于UDDI v2.0, v 3.0

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

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

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

于 2012-09-01T10:14:26.130 回答
0

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

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

于 2014-06-13T04:36:48.370 回答
0

jUDDI 在源代码主干中有大量示例。您可能想检查一下。从您提供的少量信息中很难猜出问题出在哪里。考虑联系 jUDDI 团队以获得进一步的帮助。http://svn.apache.org/repos/asf/juddi/trunk/juddi-examples/。在 jUDDI 用户指南中还有关于使用 UDDI 的附加文档,该指南位于 jUDDI 网站

于 2014-01-26T02:36:23.807 回答