【问题标题】:connecting to WSDL URL throws MalformedURLException: no protocol连接到 WSDL URL 会引发 MalformedURLException: no protocol
【发布时间】:2012-06-08 16:53:44
【问题描述】:

我们有一个在 Web 服务器上运行的 Web 服务。一个 Web 应用程序(当前在 localhost 上运行)尝试访问它。我可以在浏览器中调用该位置,它会显示 WSDL,以便 Web 服务正常工作。此外,如果我针对在我的本地主机上运行的相同服务运行 Web 应用程序,它会起作用。

但是如果我尝试连接到远程网络服务,它会给我一个

java.net.MalformedURLException: no protocol: <URL here>

其中将由wsdl2java生成的Service类包装成

Can not initialize the default wsdl from <web service location here>

是的,该 URL 确实有效。它在那里并正在运行......

什么可能导致这种情况?我是否需要在远程 Web 服务服务器上设置权限或打开端口? (我们将 CXF 用于 Web 服务)

谢谢!

【问题讨论】:

  • 可能是远程网址真的错了……你能把这两个网址发一下吗?
  • 不,网址是正确的。我从异常消息中获取 URL 并将其 1:1 粘贴到我的浏览器中。就在那儿……不幸的是,我无法发布 WS 位置、公司政策……
  • 当提供的 URL 没有关联的协议时,没有协议出现。就像 http://、file:// 一样。所以请检查它是否在那里。即使您不指定,浏览器也可以自动采用 html 协议。
  • 啊,可能就是这样!我通过IP.Add.ress.here/wsdlPath 访问远程服务器,通过http://localhost/wsdlPath 访问我的本地主机。现在处理一些其他问题,并会立即检查。

标签: java web-services wsdl cxf


【解决方案1】:

感谢Thihara我发现了问题: 在访问我的本地 wsdl 服务时,我使用了

"http://localhost/pathToWsdl"

但是当尝试访问我使用的远程 wsdl 时

"ip.add.res.s/pathToWsdl"

显然后者没有协议,因此例外。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-16
    • 2018-02-05
    • 1970-01-01
    • 1970-01-01
    • 2013-04-11
    • 2016-10-26
    相关资源
    最近更新 更多