Spring WS 和 UDDI
我有一堆在 Spring-WS 1.5.9 中实现的 Web 服务。我们使用 Maven 进行构建,我们的服务在具有 UDDI 提供程序的 OC4J 上运行。
我们想要做的是开始在内部使用 UDDi 来注册我们的 Web 服务,以允许业务中的其他组找到并使用它们。
问题是我一直无法找到如何将所有这些真正组合在一起。当服务部署到应用程序服务器时,如何让服务自行注册。
Spring似乎没有任何支持或注释。好像没有maven插件。
我已经掌握了所有部分,但如何将它们组合成自动化解决方案?
I have a bunch of web services implemented in Spring-WS 1.5.9. We use Maven to do our builds, our services run on OC4J that have a UDDI provider.
What we want to do is to start using UDDi internally to register our web services to allow other groups in the business to find and use them.
The problem is that I've not been able to find how to actually put this all together. How do I get the services to register them selves when they are deployed to the app server.
Spring doesn't seem to have any support or annotations. There doesn't appear to be a maven plugin.
I've got all the pieces but how do I put these together into an automated solution?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
为了服务的可发现性,Spring-ws提供了
DestinationProvider
接口来在运行时定位服务的edpoint。您可以使用Wsdl11DestinationProvider
类从可用 WSDL 检索端点,也可以通过使用 UDDi 访问库扩展AbstractCachingDestinationProvider
来实现您自己的类。对于自动发布,我知道 Mule Galaxy 是一个服务注册解决方案(不是基于 UDDI,而是基于例如,在 ATOM/REST 上),它提供了自动从 Maven 导入工件的连接器。
For service discoverability, Spring-ws provides the
DestinationProvider
interface to locate the edpoint of a service at runtime. You can use theWsdl11DestinationProvider
class to retrieve the endpoint from a WSDL available or you can implement your own class by extendingAbstractCachingDestinationProvider
using UDDi access libraries.For the automatic publication, I am aware of Mule Galaxy wich is a Service Registry solution (not based on UDDI but on ATOM/REST) that provides connectrs to automatically import artifacts from Maven for example.
您可以使用 UDDI4J,它可以让您与 uddi 服务器交互:)
You could use UDDI4J it let you interact with uddi servers :)
查看 Apache jUDDI。它有注释,您可以使用它来自动化注册过程。我不确定你所说的“仅供内部使用”是什么意思,但是你可以选择在没有 Web 容器的情况下以嵌入式模式运行完整服务器吗?或者它可以在 Tomcat、Jboss 和大多数其他容器中运行。
示例: http://svn.apache.org/ repos/asf/juddi/trunk/juddi-examples/uddi-annotations/
还有许多其他解决方案,例如 WS-Discovery、mDNS、ebXML 等。
Check out Apache jUDDI. It has annotations that youc an use to automate the registration process. I'm not sure what you mean by "internal use only" but can you run optionally run the full server in embedded mode without a web container) or it can be ran within Tomcat, Jboss, and most other containers.
Example: http://svn.apache.org/repos/asf/juddi/trunk/juddi-examples/uddi-annotations/
There's also a number of other solutions, such as WS-Discovery, mDNS, ebXML etc.