【发布时间】:2012-03-05 18:58:43
【问题描述】:
我在编程方面还算不错,所以这对我来说有点奇怪......
我正在尝试从 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 对象中的解析问题,可以找到源代码here扩展 transport.java(我无法放置链接,因为它认为我是垃圾邮件,但你可以找到它在那个 SVN 中)。
通常到现在为止,我已经发现了问题并且永远不必点击提交按钮,但我遇到了真正的问题 =(。欢迎所有帮助和必要的!
【问题讨论】:
-
你的解决方案是什么?"
标签: android http ksoap2 malformedurlexception