这不是重复的问题。我尝试使用ksoap2-android。它没有任何问题。
仅在WSDL2Code @ http://www.wsdl2code.com生成的代码上发生。我尝试了很多WSDL:
它总是抛出异常:
wsdl2code抛出java.net.MalformedURLException:找不到协议:
java.net.MalformedURLException:找不到协议: 在java.net.URL。(URL.java:176) 在java.net.URL。(URL.java:125) 在org.ksoap2.transport.ServiceConnectionSE。(ServiceConnectionSE.java:65) 在org.ksoap2.transport.HttpTransportSE.getServiceConnection(HttpTransportSE.java:206) 在org.ksoap2.transport.HttpTransportSE.call(HttpTransportSE.java:125) 在org.ksoap2.transport.HttpTransportSE.call(HttpTransportSE.java:95) at com.Wsdl2Code.WebServices.TempConvert.TempConvert.CelsiusToFahrenheit(TempConvert.java:177) at com.Wsdl2Code.WebServices.TempConvert.TempConvert.CelsiusToFahrenheit(TempConvert.java:162) at com.notification.android.testwsdl.MainActivity $ 1 $ 1.run(MainActivity.java:38) 在java.lang.Thread.run(Thread.java:818)
答案 0 :(得分:1)
我注意到Code2WSDL生成了空网址。
以下是http://www.w3schools.com/xml/tempconvert.asmx?WSDL
生成的代码片段:
public class TempConvert {
public String NAMESPACE ="http://www.w3schools.com/xml/";
public String url="";
public int timeOut = 5000;
public IWsdl2CodeEvents eventHandler;
public SoapProtocolVersion soapVersion;
...
只需在我的案例中指定正确的URL:
http://www.w3schools.com/xml/tempconvert.asmx
这将解决问题..我已经报告了这个问题。
我希望这可以帮助并节省他人的时间。
祝你好运,'。答案 1 :(得分:0)
工具Code2WSDL生成空网址。 所以把url放在空的字符串url =“”解决问题。