0

当我尝试加载http://www.onvif.org/ver10/device/wsdl/devicemgmt.wsdl异常Type not found: '(IPAddressFilter, http://www.onvif.org/ver10/schema/onvif.xsd, )'引发。有可能修复吗?

from suds.client import Client
client = Client('file:///home/web/www/wsdl/devicemgmt.wsdl')

PS WSDL 文件由我更改,只是http://www.onvif.org/ver10/schema/onvif.xsd在文件开头添加了直接链接。

聚苯乙烯

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python2.7/dist-packages/suds/client.py", line 119, in __init__
    sd = ServiceDefinition(self.wsdl, s)
  File "/usr/local/lib/python2.7/dist-packages/suds/servicedefinition.py", line 58, in __init__
    self.paramtypes()
  File "/usr/local/lib/python2.7/dist-packages/suds/servicedefinition.py", line 137, in paramtypes
    item = (pd[1], pd[1].resolve())
  File "/usr/local/lib/python2.7/dist-packages/suds/xsd/sxbasic.py", line 63, in resolve
    raise TypeNotFound(qref)
suds.TypeNotFound: Type not found: '(IPAddressFilter, http://www.onvif.org/ver10/schema/onvif.xsd, )'
4

1 回答 1

0

尝试添加要导入的架构。

from suds.client import Client
from suds.xsd.doctor import ImportDoctor
from suds.xsd.doctor import Import

imp = Import('http://www.w3.org/2001/XMLSchema')      # the schema to import.
imp.filter.add('http://www.onvif.org/ver10/schema')   # the schema to import into.
d = ImportDoctor(imp)
s = Client("http://www.onvif.org/ver10/device/wsdl/devicemgmt.wsdl", doctor = d)
于 2014-08-06T06:37:16.163 回答