【问题标题】:pysimplesoap - RuntimeError: No scheme given for urlpysimplesoap - RuntimeError:没有为 url 提供方案
【发布时间】:2014-10-24 19:12:53
【问题描述】:

我第一次尝试使用 pysimplesoap(也是我第一次尝试使用 soap)代码

from pysimplesoap.client import SoapClient

j_location = 'http://api.jasperwireless.com/ws/schema'
j_xsd = 'http://api.jasperwireless.com/ws/schema/JasperAPI.xsd'
j_echo_wsdl = 'http://api.jasperwireless.com/ws/schema/Echo.wsdl'
j_billing_wsdl = 'http://api.jasperwireless.com/ws/schema/Billing.wsdl'

print 'Creating client'
myclient = SoapClient(wsdl=j_echo_wsdl)
print 'Target Namespace', myclient.namespace

错误 RuntimeError:没有为 url 提供方案:JasperAPI.xsd

我不确定我应该如何解决这个错误。

【问题讨论】:

    标签: python soap xsd wsdl pysimplesoap


    【解决方案1】:

    我猜问题是因为“JasperAPI.xsd”在 WSDL 中被引用为本地文件:

    <xs:import namespace="http://api.jasperwireless.com/ws/schema" schemaLocation="JasperAPI.xsd"/>
    

    我不完全确定 schemaLocation 应该如何工作。至少有些软件会自动转换

    schemaLocation="JasperAPI.xsd"
    

    进入

    schemaLocation="http://api.jasperwireless.com/ws/schema/JasperAPI.xsd"
    

    但至少 libxml2 - 大多数(全部?)Python SOAP 实现都使用它 - 不这样做。

    作为一次性快速修复,您可以尝试将 JasperAPI.xsd 放入本地工作目录。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-11-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-11-22
      • 1970-01-01
      • 2012-03-05
      相关资源
      最近更新 更多