сложный запрос SOAP выводит однострочный ответ - PullRequest
0 голосов
/ 31 октября 2011

Я совершенно новичок в Python и Suds.Для тестирования различных клиентов я преуспел в C #, java, perl и теперь термин о Python-suds ... может кто-нибудь помочь ... вот код клиента----

from suds.client import Client
wsdl = 'http://www.cbs.dtu.dk/ws/SignalP/SignalP_3_1_ws0.wsdl'
client = Client(wsdl)
seq="""val1
val2
val3"""
print client.service.runService(seq)

и конверт для отправки запроса ....

<parameters>
 <organism> val1
 </organism>
 <sequencedata>
       <sequence>
           <id>val2</id>
           <seq>val3</seq>
        </sequence>
  </sequencedata>
</parameters>

1 Ответ

0 голосов
/ 01 ноября 2011

Я сам разобрался с ответом, но, похоже, он не на 100%; Я получаю правильный конверт ответа, но конверт запроса имеет неправильное форматирование для val2 и val3.

Здесь я положил полностью (я использовал ведение журнала, чтобы узнать вход / выход):

from suds.client import Client
import logging

logging.basicConfig(level=logging.INFO)
logging.getLogger('suds.client').setLevel(logging.DEBUG)

# soap messages (in&out) and http headers
wsdl = 'http://www.cbs.dtu.dk/ws/SignalP/SignalP_3_1_ws0.wsdl'
client = Client(wsdl, cache=None,)

seq = client.factory.create('ns1:sequence')
seq.id="XXXXX"
seq.seq="KBVGHGKLGKLGKHGJHG"

req = client.factory.create('ns1:method')
req.parameters.organism="val1"
req.parameters.sequencedata.sequence=seq; 
response = client.service.runService(req)
...