Python SUDS在GUI中失败,但在unittest中工作

Python SUDS在GUI中失败,但在unittest中工作,python,suds,Python,Suds,我对python中的肥皂水有一个奇怪的问题 我正在编写一个应用程序,它使用SOAP服务。在大约两个月的时间里,一切都很顺利。突然,它停止了工作。这是奇怪的部分 如果我为我编写的suds管理器运行unittest,一切都会顺利进行,测试也会像往常一样通过。如果我在GUI应用程序中运行代码,它将失败,并进行以下回溯: ERROR:suds.client:<?xml version="1.0" encoding="UTF-8"?> <SOAP-ENV:Envelope xmlns:n

我对python中的肥皂水有一个奇怪的问题

我正在编写一个应用程序,它使用SOAP服务。在大约两个月的时间里,一切都很顺利。突然,它停止了工作。这是奇怪的部分

如果我为我编写的suds管理器运行unittest,一切都会顺利进行,测试也会像往常一样通过。如果我在GUI应用程序中运行代码,它将失败,并进行以下回溯:

ERROR:suds.client:<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:ns0="http://service.skip.fiskistofa.is/" xmlns:ns1="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
   <SOAP-ENV:Header/>
   <ns1:Body>
      <ns0:getLandings>
         <from>2013-10-11</from>
         <to>2013-10-01</to>
      </ns0:getLandings>
   </ns1:Body>
</SOAP-ENV:Envelope>
Exception in thread Thread-1:
Traceback (most recent call last):
  File "/usr/lib/python2.7/threading.py", line 808, in __bootstrap_inner
    self.run()
  File "/home/fintor/bin/python/aflafrettir/gui/gui.py", line 332, in run
    landings = self.manager.get_landings(self.date_from, self.date_to)
  File "/home/fintor/bin/python/aflafrettir/landings/manager.py", line 66, in get_landings
    return self.call_method('getLandings', date_from, date_to)
  File "/home/fintor/bin/python/aflafrettir/landings/manager.py", line 49, in call_method
    return getattr(self.client.service, method)(*args)
  File "/home/fintor/.virtenvs/aflafrettir/lib/python2.7/site-packages/suds/client.py", line 542, in __call__
    return client.invoke(args, kwargs)
  File "/home/fintor/.virtenvs/aflafrettir/lib/python2.7/site-packages/suds/client.py", line 602, in invoke
    result = self.send(soapenv)
  File "/home/fintor/.virtenvs/aflafrettir/lib/python2.7/site-packages/suds/client.py", line 649, in send
    result = self.failed(binding, e)
  File "/home/fintor/.virtenvs/aflafrettir/lib/python2.7/site-packages/suds/client.py", line 702, in failed
    r, p = binding.get_fault(reply)
  File "/home/fintor/.virtenvs/aflafrettir/lib/python2.7/site-packages/suds/bindings/binding.py", line 265, in get_fault
    raise WebFault(p, faultroot)
WebFault: Server raised fault: 'Couldn't create SOAP message due to exception: XML reader error: com.ctc.wstx.exc.WstxUnexpectedCharException: Unexpected character 'C' (code 67) in prolog; expected '<'
 at [row,col {unknown-source}]: [1,1]'
它在gui中的调用方式如下:

manager = LandingsManager()
manager.set_credentials(self.username, self.password)
manager.get_client()
worker = Worker(self.queue, manager, date_from, date_to)
worker.start()
最后,这里是unittest模块的代码,它运行良好:

manager = LandingsManager()
manager.set_credentials(usern, passw)
manager.get_client()
data = manager.get_landings('2013-10-01', '2013-10-11')
我在设置凭据以及调用get_landings方法的日期from和date to时已验证用户名和密码是否相同

就像我说的,这是一个奇怪的问题,我不确定是什么原因导致这个在一个地方失败,在另一个地方工作。我希望有人能对我的事业有所启发

编辑:


我发现了问题所在。密码包含回车符,SOAP服务不喜欢它。

您能找到发布的数据吗。这可能有助于找出导致SOAP服务器引发异常的原因。Wireshark可能会有帮助我找到了问题所在。GUI中的密码包含回车符,SOAP服务不喜欢这样。谢谢,@ldrumm为我指明了正确的方向!您可能希望将其添加为答案,并在指定的时间间隔后接受它,以防其他人遇到同样的问题:)
manager = LandingsManager()
manager.set_credentials(usern, passw)
manager.get_client()
data = manager.get_landings('2013-10-01', '2013-10-11')