Не могу понять, как вернуть Python dict / Json как XML, используя Spyne - PullRequest
0 голосов
/ 26 декабря 2018

Я запустил приложение WSGI, использующее Spyne для некоторых служб SOAP, которые я пытаюсь создать.

Я абсолютно новичок в SOAP и Spyne в целом и, похоже, не могу понять,как вернуть JSON / Python dict как XML.Это то, что я сделал.

class Fruits(ServiceBase):

@rpc(_returns=Iterable(Unicode))
def fruitify(self):
    fruits  = {"apple" : "1", "orange" : ["2","3","4"]}
    return fruits

Я думаю, что проблема заключается в декораторе, который я определяю, используя _returns.

Я пытался читать документы снова и снова, но не могне понимаю.

Ответ, который я получаю, выглядит примерно так:

    <soap11env:Envelope xmlns:soap11env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tns="lets_fruit">
   <soap11env:Body>
      <tns:fruitifyResponse>
         <tns:fruitifyResult>
            <tns:string>apple</tns:string>
            <tns:string>orange</tns:string>
         </tns:fruitifyResult>
      </tns:fruitifyResponse>
   </soap11env:Body>
</soap11env:Envelope>

Как видно, у него нет ни одного из моих values, связанных с keys.

Кто-нибудь делал что-то подобное и успешно реализовывал это раньше?

Заранее спасибо!

1 Ответ

0 голосов
/ 26 декабря 2018

Разобрались, ребята.

Мне просто нужно было изменить _returns=Iterable(Unicode) на _returns=AnyDict.

Спасибо!

...