SOAP suds ID сеанса TypeNotFound - PullRequest
       118

SOAP suds ID сеанса TypeNotFound

0 голосов
/ 04 ноября 2019

Настройка

Я пытаюсь проверить, есть ли определенные (клиентские) отношения в моей системе учета через ее мыльный клиент WSDL.


Попробуйте

Следуя документации , я успешно подключился к своей учетной записи,

from suds.client import Client

url = 'https://soap.e-boekhouden.nl/soap.asmx?wsdl'

c = Client(url)

user = 'me'
sec1 = 'security_code_1'
sec2 = 'security_code_2'

osResult = c.service.OpenSession(user,sec1,sec2)

Затем я проверяю функцию, чтобы получить все отношения в системе, то есть print(GetRelaties), которая дает

(GetRelaties){
   SessionID = None
   SecurityCode2 = None
   cFilter = 
      (cRelatieFilter){
         Trefwoord = None
         Code = None
         ID = None
      }
 }

Если я хочу проверить, находится ли отношение 'Vervoort' в системе, мне нужно использовать GetRelaties функция, т.е.

GetRelaties = c.factory.create('GetRelaties')

GetRelaties.SessionID = osResult.SessionID
GetRelaties.SecurityCode2 = sec2

cRelatieFilter = c.factory.create('cRelatieFilter')
cRelatieFilter.Trefwoord = 'Vervoort'

GetRelaties.cFilter = cRelatieFilter

такая, что

print(GetRelaties)
(GetRelaties){
   SessionID = "{FDC2C855-E2E2-49F2-A62E-0373E8279821}"
   SecurityCode2 = "C218B421-885C-4B7F-8313-C1B0F77B8F88"
   cFilter = 
      (cRelatieFilter){
         Trefwoord = "Vervoort"
         Code = None
         ID = None
      }
 }

Обратите внимание, что для звонка мне нужно предоставить SessionID и SecurityCode2.


Ошибка

Сделав все это, я выполняю c.service.GetRelaties(GetRelaties), что дает

Traceback (most recent call last):

  File "<ipython-input-118-1f7334c4e16b>", line 1, in <module>
    c.service.GetRelaties(GetRelaties)

  File "/opt/anaconda3/lib/python3.7/site-packages/suds/client.py", line 558, in __call__
    return client.invoke(args, kwargs)

  File "/opt/anaconda3/lib/python3.7/site-packages/suds/client.py", line 611, in invoke
    soapenv = binding.get_message(self.method, args, kwargs)

  File "/opt/anaconda3/lib/python3.7/site-packages/suds/bindings/binding.py", line 120, in get_message
    content = self.bodycontent(method, args, kwargs)

  File "/opt/anaconda3/lib/python3.7/site-packages/suds/bindings/document.py", line 64, in bodycontent
    p = self.mkparam(method, pd, value)

  File "/opt/anaconda3/lib/python3.7/site-packages/suds/bindings/document.py", line 106, in mkparam
    return Binding.mkparam(self, method, pdef, object)

  File "/opt/anaconda3/lib/python3.7/site-packages/suds/bindings/binding.py", line 289, in mkparam
    return marshaller.process(content)

  File "/opt/anaconda3/lib/python3.7/site-packages/suds/mx/core.py", line 60, in process
    self.append(document, content)

  File "/opt/anaconda3/lib/python3.7/site-packages/suds/mx/core.py", line 73, in append
    self.appender.append(parent, content)

  File "/opt/anaconda3/lib/python3.7/site-packages/suds/mx/appender.py", line 102, in append
    appender.append(parent, content)

  File "/opt/anaconda3/lib/python3.7/site-packages/suds/mx/appender.py", line 243, in append
    Appender.append(self, child, cont)

  File "/opt/anaconda3/lib/python3.7/site-packages/suds/mx/appender.py", line 182, in append
    self.marshaller.append(parent, content)

  File "/opt/anaconda3/lib/python3.7/site-packages/suds/mx/core.py", line 72, in append
    if self.start(content):

  File "/opt/anaconda3/lib/python3.7/site-packages/suds/mx/literal.py", line 87, in start
    raise TypeNotFound(content.tag)

TypeNotFound: Type not found: 'SessionID'

Что я здесь не так делаю

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...