2014-10-24 2 views
0

Моя первая попытка с помощью pysimplesoap (и моя первая попытка на мыло) кодpysimplesoap - RuntimeError: Нет схемы даны для URL

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

Я не уверен, как я должен разрешить эту ошибку.

ответ

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 - который используется большинством (всех?) Реализаций SOAP Python - не делает этого.

Как однократное быстрое исправление, вы можете попробовать положить JasperAPI.xsd в свой локальный рабочий каталог.

Смежные вопросы