crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
> Python, SOAPpy and WSDL, не могу вывать метод...
ViGOur
  опции профиля:
сообщение 6.3.2013, 15:46
Сообщение #1


Мастер
******

Группа: Модератор
Сообщений: 3296
Регистрация: 9.10.2007
Из: Москва
Пользователь №: 4

Спасибо сказали: 231 раз(а)




Репутация:   40  


Пытаюсь соединится с сервером LifeSize используя SOAP (допустим по адресу 'http://100.100.100.5/soap') и вызвать его метод: SB_startSession. Соединение проходит успешно, но вот при вызове функции получаю ошибку:
ошибка
Цитата
addr.user: admin:admin
sys:1: DeprecationWarning: Non-ASCII character '\xd0' in file ./soapClient.py on line 39, but no encoding declared; see http://www.python.org/peps/pep-0263.html for details
Traceback (most recent call last):
File "./soapClient.py", line 35, in ?
sessionID = server.startSession('admin')
File "/usr/lib/python2.4/site-packages/SOAPpy-0.12.5-py2.4.egg/SOAPpy/Client.py", line 542, in __call__
return self.__r_call(*args, **kw)
File "/usr/lib/python2.4/site-packages/SOAPpy-0.12.5-py2.4.egg/SOAPpy/Client.py", line 564, in __r_call
self.__hd, self.__ma)
File "/usr/lib/python2.4/site-packages/SOAPpy-0.12.5-py2.4.egg/SOAPpy/Client.py", line 477, in __call
raise p
SOAPpy.Types.faultType: <Fault env:Server: operation: {}startSession not supported: <SOAPpy.Types.structType detail at 1080768204>: {'cause': <SOAPpy.Types.structType cause at 1080769708>: {'backtrace': ["/usr/lib/ruby/1.8/soap/rpc/router.rb:274:in `lookup_operation'", "/usr/lib/ruby/1.8/soap/rpc/router.rb:165:in `route'", "/usr/lib/ruby/1.8/soap/rpc/soaplet.rb:97:in `do_POST'", "/usr/lib/ruby/1.8/soap/mapping/mapping.rb:565:in `protect_threadvars'", "/usr/lib/ruby/1.8/soap/rpc/soaplet.rb:94:in `do_POST'", "/usr/lib/ruby/1.8/soap/rpc/cgistub.rb:211:in `run'", "/usr/lib/ruby/1.8/logger.rb:659:in `start'", '/usr/share/www/soap/soap_dispatcher.rb:296', "/usr/lib/ruby/1.8/fcgi.rb:117:in `session'", "/usr/lib/ruby/1.8/fcgi.rb:104:in `each_request'", "/usr/lib/ruby/1.8/fcgi.rb:36:in `each'", '/usr/share/www/soap/soap_dispatcher.rb:288'], 'message': 'operation: {}startSession not supported'}, 'excn_type_name': 'SOAP..RPCRoutingError'}>
Код
#!/usr/bin/python

import SOAPpy

class authHTTPTransport(SOAPpy.HTTPTransport):
    username = None
    passwd = None

    @classmethod
    def setAuthentication(cls,u,p):
        cls.username = u
        cls.passwd = p

    def call(self, addr, data, namespace, soapaction=None, encoding=None, http_proxy=None, config=SOAPpy.Config, timeout=None):
        if not isinstance(addr, SOAPpy.SOAPAddress):
            addr = SOAPpy.SOAPAddress(addr, config)
        if self.username != None:
            addr.user = self.username+":"+self.passwd
        return SOAPpy.HTTPTransport.call(self, addr, data, namespace, soapaction, encoding, http_proxy, config, timeout)


ipAddress = '100.100.100.5'
url = 'http://' + ipAddress + '/soap'
authHTTPTransport.setAuthentication('admin', 'admin')
server = SOAPpy.SOAPProxy( url, transport=authHTTPTransport )
sessionID = server.SB_startSession('пофигу что, вроде как не используется пока...')
Но есть некий *.wsdl файл, в котором описана данная функция и не только она, как я понимаю ошибка возникает из-за того, что я что-то не сделал или куда-то не засунул данный wsdl файл, но вот что и/или куда!

Кто работал c SOAP/WSDL подскажите, а то в инете информация достаточно скудна и запутанна...
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


3 чел. читают эту тему (гостей: 3, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 14.11.2024, 7:33