我遇到了一个独特的情况,我需要一个ServletFilter(在init(FilterConfig)阶段)来解析部署在同一个WAR文件中的SOAP服务的WSDL。我的第一个尝试是使用ServletContext.getResourceAsStream()来尝试检索WSDL,但问题是我不知道wsdl在本地文件系统中的位置是由servlet容器在运行时生成的。通常,webrequest可以访问wsdl:
http://example.com/servicewarfile/service?wsdl
有关如何检索wsdl文件的输入流的任何想法?另一个想法是使用HttpURLConnections来访问它,但我不知道运行时本地运行的servlet容器的端口号(试图保持与实现无关)。