0

pysimplesoap を使用する最初の試み (および石鹸での最初の試み) コード

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: No scheme given for url: JasperAPI.xsd

このエラーをどのように解決すればよいかわかりません。

4

1 に答える 1

0

問題は、「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 実装で使用されている) はこれを行いません。

1 回限りの簡単な修正として、JasperAPI.xsd をローカルの作業ディレクトリに配置してみてください。

于 2014-11-23T01:28:38.950 に答える