Файл WSDL сервера Spyne SOAP не может показывать https
Мой Spyne сервер показывает WSDL <soap:address location="http://some-domain.com>
Я хочу это показать https
вместо http
,
В принципе, <soap:address location="https://some-domain.com>
Обратите внимание, что разница заключается в http
а также https
,
Как мне сказать моему серверу Spyne решить эту проблему?
Пересматривал документы несколько раз, но не мог понять это.
Спасибо!
2 ответа
У меня также была эта проблема из-за завершения SSL на балансировщике нагрузки.
Предполагая, что вы используете WsgiApplication, вы можете указать нужный URL-адрес через
build_interface_document
метод. Что-то вроде этого из примера мыльного приложения.
if __name__ == '__main__':
# You can use any Wsgi server. Here, we chose
# Python's built-in wsgi server but you're not
# supposed to use it in production.
from wsgiref.simple_server import make_server
wsgi_app = WsgiApplication(application)
wsgi_app.doc.wsdl11.build_interface_document('https://some-hardcoded-url.blah.io')
server = make_server('0.0.0.0', 80, wsgi_app)
server.serve_forever()
Это задокументировано здесь, хотя я пропустил его при первом прочтении: http://spyne.io/docs/2.10/reference/server.html#module-spyne.server.wsgi
URL WSDL создается из первого запроса.
После запуска сервера запросите wsdl из защищенного домена, и он должен работать.