如何列出服务器上部署的所有Web服务?是否有任何全局命令用于列出相同的内容?
就像在我的服务中一样,我有以下共同点:
path="vms/CaseServices"
path="vms/ActivityServices"
path="vms/FileDownloadServices"
为了访问它们,我使用
http://localhost:8080/vms/CaseServices?wsdl
但是如何列出服务器上所有可用的Web服务,是否使用Java代码?
在骡子中,你可以用变压器来做到这一点:
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();
}
}
记录路径并将其作为字符串返回。
这些都是http路径,而不仅仅是Web服务。