【问题标题】:Connecting webservice via WSDL using wsdl2code throws java.net.MalformedURLException: Protocol not found:使用 wsdl2code 通过 WSDL 连接 Web 服务会引发 java.net.MalformedURLException:找不到协议:
【发布时间】:2016-11-30 03:43:32
【问题描述】:

这不是重复的问题。我尝试使用 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) 在 com.Wsdl2Code.WebServices.TempConvert.TempConvert.CelsiusToFahrenheit(TempConvert.java:177) 在 com.Wsdl2Code.WebServices.TempConvert.TempConvert.CelsiusToFahrenheit(TempConvert.java:162) 在 com.notification.android.testwsdl.MainActivity$1$1.run(MainActivity.java:38) 在 java.lang.Thread.run(Thread.java:818)

【问题讨论】:

    标签: java soap android-ksoap2 wsdl2code


    【解决方案1】:

    我注意到 Code2WSDL 生成空 url。 这是来自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

    这将解决问题.. 我已经报告了这个问题。

    我希望这可以帮助并节省其他人的时间。

    祝你好运,'。

    【讨论】:

      【解决方案2】:

      工具 Code2WSDL 生成空 url。 所以把 url 放在空的 String 中 url="" 解决问题。

      【讨论】:

        猜你喜欢
        • 2018-11-08
        • 2012-09-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-04-05
        • 1970-01-01
        • 2019-03-28
        相关资源
        最近更新 更多