spyne - генерирует xsd для запросов, не требующих явного указания пространства имен для каждого входного параметра - PullRequest
0 голосов
/ 23 апреля 2020

В настоящее время мое приложение WSGI на основе Spyne генерирует XSD для таких запросов:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:aso="asoapns">
   <soapenv:Header/>
   <soapenv:Body>
      <aso:findSpace>
         <aso:Volume>?</aso:Volume>
         <aso:Area>?</aso:Area>
         <aso:Atmosphere>?</aso:Atmosphere>
         <aso:Location>?</aso:Location>
      </aso:findSpace>
   </soapenv:Body>
</soapenv:Envelope>

Можно ли было бы сделать так, чтобы входные параметры можно было задавать без конкретного пространства имен? например:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:aso="asoapns">
   <soapenv:Header/>
   <soapenv:Body>
      <aso:findSpace>
         <Volume>?</Volume>
         <Area>?</Area>
         <Atmosphere>?</Atmosphere>
         <Location>?</Location>
      </aso:findSpace>
   </soapenv:Body>
</soapenv:Envelope>

Или это естественное требование API SOAP?

1 Ответ

0 голосов
/ 27 апреля 2020

Указание «мягкой» проверки в отличие от «l xml» в спецификации приложения позволяет запросам не требовать указанных c перечисленных пространств имен.

application = Application(  [API],
                            tns = soap_namespace,
                            in_protocol=Soap11(validator='soft'),
                            out_protocol=Soap11())
...