使用wsdl2code通过WSDL连接webservice抛出java.net.MalformedURLException:找不到协议:

时间:2016-11-30 03:43:33

标签: java soap android-ksoap2 wsdl2code

这不是重复的问题。我尝试使用kso​​ap2-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)

2 个答案:

答案 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 =“”解决问题。