Suds + JIRA = SAXException - PullRequest
       39

Suds + JIRA = SAXException

3 голосов
/ 23 октября 2009

Я использую Python 2.6 и suds 0.3.7 для взаимодействия с JIRA 4.0.

Когда я подключаюсь к серверу JIRA, я получаю информацию по всем вопросам просто отлично.

Однако, когда я хочу обновить проблему, я получаю SAXException от suds (предположительно):

WebFault: ошибка сервера: org.xml.sax.SAXException: обнаружение символьных данных внутри элемента массива при десериализации

Я следую инструкциям, описанным здесь: http://confluence.atlassian.com/display/JIRA/Creating+a+SOAP+Client

только замена вызовов SOAPpy на suds.

Моя попытка обновить проблему выглядит следующим образом, за исключением:

 >>> w="http://bugs/rpc/soap/jirasoapservice-v2?wsdl"
 >>> from suds.client import Client
 >>> client = Client(w)
 >>> auth = client.service.login("myname","mypass")
 >>> issue = client.service.getIssue(auth,"BUG-30112")
 >>> issue.summary
 This is the original summary for BUG-30112
 >>> 
 >>> client.service.updateIssue(auth,"BUG-30112",[
 ...            {"id":"summary","values":["My new summary"]}])

 Traceback (most recent call last):
   File "<interactive input>", line 2, in <module>
   File "C:\Python26\lib\suds\client.py", line 535, in __call__
     return client.invoke(args, kwargs)
   File "C:\Python26\lib\suds\client.py", line 595, in invoke
     result = self.send(msg)
   File "C:\Python26\lib\suds\client.py", line 630, in send
     result = self.failed(binding, e)
   File "C:\Python26\lib\suds\client.py", line 681, in failed
     r, p = binding.get_fault(reply)
   File "C:\Python26\lib\suds\bindings\binding.py", line 235, in get_fault
     raise WebFault(p, faultroot)
 WebFault: Server raised fault: 'org.xml.sax.SAXException: Found character data inside an array element while deserializing'
 >>>

Кто-нибудь видел такую ​​проблему?

Ответы [ 3 ]

1 голос
/ 26 октября 2009

На самом деле, просто изменив библиотеку с suds на SOAPpy, все стало работать без других модификаций. Вид раздражает. Я пропустил SOAPpy, потому что он был заброшен и более сложен в установке по сравнению с пеной. Но SOAPpy работает!

Спасибо, все.

1 голос
/ 17 февраля 2010

Это будет решено, если вы переключитесь на suds 3.0.9 (бета) ... единственное, что исправит.

1 голос
/ 23 октября 2009

Как насчет увеличения многословия, чтобы увидеть, что отправляется? Или используйте проволочную акулу. Вы также можете сделать то же самое с SOAPpy и сравнить точно, что отправлено. Отладка ошибок мыла для меня обычно так: - /

~ Matt

...