SOAP веб-сервис с spyne, django и apache

У меня есть сайт на основе Django, развернутый с Apache и Mod_wsgi. Мне нужно разработать веб-сервис на основе SOAP и разместить его в моем проекте django, используя тот же порт (80).

Итак, я прочитал о spyne: http://spyne.io/docs/2.10/manual/02_helloworld.html?highlight=django Похоже, он соответствует моим потребностям. Я просто не мог найти, как развернуть его с помощью Apache.

1 ответ

В конечном итоге вам понадобится:

...

application = WsgiApplication(app)

То есть файл сценария WSGI, который создает ваше приложение и представляет его как application и не wsgi_app как говорят документы, чтобы использовать.

Затем настройте mod_wsgi что-то вроде:

WSGIDaemonProcess soapapp
WSGIScriptAlias /suburl /some/path/soapapp.wsgi \
    process-group=soapapp application-group=%{GLOBAL}

<Directory /some/path/>
<Files soapapp.wsgi>
# Order allow,deny
# Allow from all
Require all granted
</Files>
</Directory>

То есть создайте отдельную группу процессов демона для этого приложения. Смонтируйте его по вспомогательному URL-адресу и делегируйте его для выполнения в отдельной группе процессов-демонов, а не в каком-либо процессе, которым является ваше приложение Django. Также убедитесь, что вы установили права доступа, чтобы Apache знал, что он позволяет размещать приложение WSGI там, где оно существует.

Затем вы получите доступ к службе SOAP по этому суб-URL.

Другие вопросы по тегам