泡沫定制头

2024-10-03 23:18:25 发布

您现在位置:Python中文网/ 问答频道 /正文

我是Python的新手,我将suds用于wsdl客户机。我如何为此创建自定义请求头。在

从SOAP UI获取XML:

<soapenv:Header>
      <sbus:SBusContext message-tracking-id="?" correlation-id="?" entry-dtime="?" timestamp="?" entry-system="?" entry-system-principal="?" entry-url="?" priority="?">
         <!--Optional:-->
         <sbus:Keys>
            <!--1 or more repetitions:-->
            <sbus:Key keyType="?" keyValDataType="string">
               <sbus:KeyValue>?</sbus:KeyValue>
            </sbus:Key>
         </sbus:Keys>
         <!--Optional:-->
         <sbus:ExtContext>?</sbus:ExtContext>
      </sbus:SBusContext>
   </soapenv:Header>

Tags: keyidkeyssystemoptionalsudswsdlheader
2条回答

编辑-

我意识到你问的可能是SOAP头,而不是http头。如果是这样,请忽略我的回答。我的错。在


看这里:How to add http headers in suds 0.3.6?

在创建客户端时,可以按如下方式添加头:

client = suds.client.Client(url, headers={'key': 'value'})

或者在创建客户机后,通过使用如下设置选项:

^{2}$

值得注意的是,原来的suds包不再被维护(上一次发布于2010年9月)。它缺少您可能想要的各种特性,比如gzip压缩(所以不必费心添加一个“accept”)-编码:gzip'标题,如果您使用旧的suds包)。各种叉子纷纷出现。我相信他们中最活跃的是苏德朱尔科。在

以下是官方泡沫的片段documentation

from suds.sax.element import Element
client = client(url)
ssnns = ('ssn', 'http://namespaces/sessionid')
ssn = Element('SessionID', ns=ssnns).setText('123')
client.set_options(soapheaders=ssn) 
result = client.service.addPerson(person)

相关问题 更多 >