擅长:python、mysql、java
<p>它在<code>zeep</code>,<code>xmlsec</code>的源代码上做了一些摸索,甚至尝试了<code>lxml</code>构造函数,但这里是:</p>
<pre><code>from zeep.wsse.signature import sign_envelope
from lxml import etree
raw_xml = open('unsigned-soapenv.xml').read()
xml_root_element = etree.fromstring(raw_xml)
signed = sign_envelope(
xml_root_element,
'rsakey.pem',
'rsacert.pem'
)
tree = etree.ElementTree(xml_root_element)
tree.write('signed-soapenv.xml')
</code></pre>
<p><code>unsigned-soapenv.xml</code>是你的信封。在</p>
<p>如果需要示例签名和证书,它们来自<a href="https://github.com/mehcode/python-xmlsec/tree/master/tests/data" rel="noreferrer">^{<cd5>}'s test data</a>。在</p>
<p>无价的是<code>ipdb</code>,它是一个具有自动完成功能的调试器。在你的终端里,像这样试试:
<code>import ipdb; ipdb.set_trace()</code></p>