我想从Java代码检查WSDL URL是否有效。这样我就可以基于此使用另一个URL。

所以我正在检查这样的代码。

private boolean isValidWsdlURL(String wsdlUrl)
{
    UrlValidator urlValidator = new UrlValidator();
    if(urlValidator.isValid(wsdlUrl))
    {
        return true;
    }
    logger.info("WSDL URL is not valid...");
    return false;
}

但是尽管我有有效的URL,它的返回错误信息。
WSDL URL例如: http://www.sample.com/MyWsdlService?wsdl

因为URL以?wsdl结尾
如何检查代码?看起来我们只需要“http://www.sample.com”即可让UrlValidator通过。

最佳答案

您是否正在尝试验证WSDL URL?为什么不使用java.net.URL类?
并执行类似的操作:

String urlStr = "http://www.example.com/helloService?wsdl";
URL url = null;
try {
  url = new URL(urlStr);
  URLConnection urlConnection = url.openConnection()
} catch (MalformedURLException ex) {
   System.out.println("bad URL");
} catch (IOException ex) {
   System.out.println("Failed opening connection. Perhaps WS is not up?");
}

当我插入诸如htt2p之类的错误URL而不是http时,我得到了“错误URL”打印

10-03 00:02