【问题标题】:Listing available METRO web services列出可用的 METRO 网络服务
【发布时间】:2011-07-28 13:59:18
【问题描述】:

环境 NetBeans 6.9.1、GlassFish 3.1 + METRO 2.1

我正在托管 METRO Web 服务,我想为项目创建一个主页,动态列出所有托管的 Web 服务。有没有办法实现这个?以实际的方式(JSF,?)需要什么?任何建议将不胜感激。

提前致谢, 丹尼尔

【问题讨论】:

    标签: java web-services glassfish jax-ws


    【解决方案1】:

    Metro 具有出色的 JMX 支持,如果您按照 Metro Guide 第 19 章所述启用 JMX 监控,那么您可以使用 JMX 动态查询已部署的 Web 服务,如 here 所述,使用 WSEndpoint MBean。

    【讨论】:

    • @Bhaskar Karambelkar 感谢您的精彩指针!是否可以在 facelets 页面上使用 WSEndpoint MBean,就像使用 JSF MBean 一样?
    • 我还没有真正使用过JSF,但是如果JSF可以访问JMX MBeans,那么你的工作就很容易了,如果没有,你可能需要将JMX MBean方法的调用包装在一个代理bean中,并让 JSF 调用代理 bean,就像 JSF 访问任何普通 BEAN 一样。
    • 如果您使用的是 SPRING,您可以将 WSEndpoint MBean 上的调用封装在 MBeanProxyFactoryBean 中。见static.springsource.org/spring/docs/2.5.x/reference/jmx.html Sec 20.6
    • @Bhaskar Karambelkar 再次感谢!我将遵循 JSF 方向,除非绝对必要,否则我不想包含 Spring。我目前正在通过mBeanServer.queryNames(ObjectName.WILDCARD, ObjectName.WILDCARD); 列出 MBean,但我没有在列表中看到 WSEndpoint。但是我在部署时看到了这个:INFO: Metro monitoring rootname successfully set to: amx:pp=/mon/server-mon[server],type=WSEndpoint,name=/JavaWSJMX-WSnameWSService-WSnameWSPort。如何获得参考?
    • Daniel,我真的不知道如何在 JSF 中获得引用,顺便说一句,您是否尝试通过 JConsole 连接到您的 JVM,如果可以的话,看看您是否可以通过 JConsole 找到 WSEndpoint ,那么 JSF 没有理由找不到它。
    猜你喜欢
    • 1970-01-01
    • 2011-02-15
    • 2014-07-26
    • 2016-06-29
    • 2012-04-08
    • 2010-11-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多