я новичок в SOAP и веб-сервисах, и я пытался создать работающую и стабильную среду SOAP. После некоторого чтения я решил использовать клиент suds и сервер soaplib. Я использую python2.7 и установил suds и soaplib с помощью easy_install, так что это скорее комбинация программ по умолчанию. Операционная система новейшая Ubuntu 13.
Я создал 2 скрипта на основе примера hello_world из учебника: http://soaplib.github.io/soaplib/2_0/pages/helloworld.html
После небольших изменений:
- добавление
from soaplib.core.service import soap
на сервер - добавление имени службы в
hello_client = Client('http://localhost:7789/HelloWorldService?wsdl')
в клиенте
У меня есть рабочее решение, которое позволяет мне запускать сервер (порт занят), а клиент suds возвращает мне информацию после использования функции say_hello.
Проблема в том, что я не могу создавать новые методы на этом сервере, используя определение, используемое в примере. Даже простое изменение имени с say_hello на say_hello2 выдает ошибку: suds.MethodNotFound: Method not found: 'Application.Application.say_hello2'
Пожалуйста, помогите мне решить эту проблему :)
Я думал и о другом. sopalib кажется неактивным с 2010 года, и, может быть, здесь кроется какая-то проблема? Может быть, есть лучшие, более быстрые и эффективные решения для SOAP-соединений, чем SUDS+soaplib? Если да, то посоветуйте мне что-нибудь.
Спасибо за помощь Майк