我在编程方面还不错,所以这对我来说是一个奇怪的...
我正在尝试从 Mantis Bug Tracker 中提取一个值以显示在我的 Android 应用程序上。为此,我使用 kSOAP2 库访问 Mantis 的 SOAP 接口。
我得到的错误是带有这些详细信息的 MalformedURLException
未找到协议:/api/soap/mantisconnect.php
URL 是根据用户输入的 URI 构建的,并在末尾附加了一个字符串:
String fullUrl = HOST + "/api/soap/mantisconnect.php/mc_version?wsdl";
trans.call(fullUrl, soapEnvelope);
HOST 成功传入,我通过调试变量看到了这一点,fullUrl 等于:
http://192.168.1.98/mantis/api/soap/mantisconnect.php/mc_version?wsdl
这是从 Eclipse 中 HOST 变量的调试视图中复制出来的。
程序出错的地方是 trans.call(); 其中 trans 是 kSOAP2 库中提供的 HTTPTransportSE 对象。trans 中定义的 URL 是(奇怪?):
/api/soap/mantisconnect.php
所以对我来说,这个问题似乎在于 HttpTransportSE 对象中的解析问题,可以在此处找到扩展 transport.java 的源(我无法放置链接,因为它认为我是垃圾邮件,但你可以在那个 SVN 中找到它) .
通常到这一点,我已经发现了问题并且永远不必点击提交按钮,但我遇到了真正的问题=(。欢迎所有帮助和必要的!