将SUDS与HTTPS配合使用并设置位置

时间:2013-06-18 13:53:28

标签: python soap https suds

我正在使用SUDS使用此代码调用SOAP:

client = Client("https://xyz.rwth.de/SecuredDataService/SecuredData?wsdl",location="https://xyz.rwth.de/SecuredDataService/SecuredData",cache=None)

对于HTTP请求,类似于上述代码的请求有效(没有上述请求中的位置部分和正确的HTTP URL),但对于HTTPS,它失败并给出以下错误。

  

DEBUG:suds.wsdl:阅读wsdl:   https://xyz.rwth.de/SecuredDataService/SecuredData?wsdl ......

     

DEBUG:suds.xsd.sxbasic:导入:0x1025f5710,导入   NS = “http://secured.services.xyz123.org/”,   位置= “http://xyz.rwth.de:7070/SecuredDataService/SecuredData?xsd=1”

     

DEBUG:suds.transport.http:开口   (http://xyz.rwth.de:7070/SecuredDataService/SecuredData?xsd=1

     

错误:django.request:内部服务器错误:/XYZ12/index.html /

我收到urlopen error [Errno 60] Operation timed out

基本上,日志文件显示未使用location参数,而是使用了WSDL文件中指定的位置(即http://xyz.rwth.de:7070/SecuredDataService/SecuredData?xsd=1)。为什么会这样,即使SUDS文档明确指出:location: This overrides the service port address URL defined in the WSDL.

编辑:添加cache=None后,将调用正确的位置,并在日志文件中打印整个WSDL。但是,之后,日志文件中会打印相同的错误(如上所述)。

0 个答案:

没有答案