有没有办法列出应用程序中的所有Web服务?

时间:2017-05-17 09:32:31

标签: java web-services tomcat glassfish mule

如何列出服务器上部署的所有Web服务?是否有任何全局命令用于列出相同的命令?

在我的服务中,我有以下共同路径:

path="vms/CaseServices"
path="vms/ActivityServices"
path="vms/FileDownloadServices"

并使用

访问它们
http://localhost:8080/vms/CaseServices?wsdl

但是如何列出服务器上可用的所有Web服务,是否使用Java代码?

1 个答案:

答案 0 :(得分:2)

在Mule中,您可以使用变压器:

public class HttpPathsTransformer extends AbstractMessageTransformer {

    @Override
    public Object transformMessage(MuleMessage message, String encoding) throws TransformerException {
        StringBuilder sb = new StringBuilder("paths: ");
        Collection<DefaultHttpListener> listener = muleContext.getRegistry().lookupObjects(DefaultHttpListener.class);
        for (DefaultHttpListener l : listener) {
            logger.info("path: " + l.getPath());
            sb.append(System.lineSeparator()).append(l.getPath());
        }

        return sb.toString();
    }

}

记录路径并将其作为String返回。

这些都是http路径,而不仅仅是网络服务。