LINUX.ORG.RU

Python soap server.


0

1

Вечер добрый.

Нужно написать серверную часть, которая будет общаться с клиентом с помощью SOAP. Я думал реализовать все с помозью Django и soaplib. Но вот потратив два вечера так и не заставил это все работать как нужно. Оно то работает то возвращаются клиенту только строки, а вернуть объект не получается никак. Но самое главное что меня тревожит, так это непонятки с версиями soaplib и документацией к ней. В репах арча версия 1-й, в инете куча нерабочих примеров для 0.8-й, а подробный АПИ нашел только для 2-й.
Посоветуйте какие средства будет лучше заюзать для реализации данной задачи (всего-то нужно кидаться простенькими объектами).

P. S.
Вот код если кому интересно.
views.py: http://pastie.org/1603789
wsdl: http://pastie.org/1603796

★★★★★

Последнее исправление: urxvt (всего исправлений: 1)

soaplib

Похоже на наколенную поделку.

SOAPpy выглядит повнушительнее. И лет пять назад смотрел на ZSI — достаточно энтерпрайзненько.

baverman ★★★
()

some twisted maybe?

код писать очень спать уже хочется, так что просто скопипастил из гугля (если что не бейте ногами в живот :))

from twisted.web import server, wsgi, resource
from twisted.internet import reactor

from soaplib.wsgi_soap import SimpleWSGISoapApp
from soaplib.service import soapmethod
from soaplib.serializers.primitive import Array, String

class HelloWorldService(SimpleWSGISoapApp):
    @soapmethod(_returns=Array(String))
    def hello(self):
        "A method that says hello"
        return ["hello", "world"]

if __name__=='__main__':

    server_name='0.0.0.0'
    server_port=8080
    root = resource.Resource()
    root.putChild("hello", wsgi.WSGIResource(reactor, reactor.getThreadPool(), HelloWorldService()))
    reactor.listenTCP(server_port, server.Site(root), interface=server_name)
    reactor.run()
shty ★★★★★
()
Ответ на: комментарий от shty

> some twisted maybe?
А не слишком ли он низкоуровневый, или мне так на первый взгляд показалось?

urxvt ★★★★★
() автор топика
Ответ на: комментарий от urxvt

Стремно мне как-то юзать либу не обновлявшуюся с 2005-го...

Я бы тоже ZSI сейчас не ворошил. Но SOAPpy имеет с ней, вроде, общий код, поэтому есть надежда, что там всё хорошо.

baverman ★★★
()
Ответ на: комментарий от urxvt

> some twisted maybe?

А не слишком ли он низкоуровневый, или мне так на первый взгляд показалось?

это я не знаю, кому как :)

shty ★★★★★
()
Ответ на: комментарий от andrew_k

Нет. Я закинул затею с SOAP и остановился на Django и xmlprc.

urxvt ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.