Python zeep更改SOAP正文中签名的前缀

Python zeep更改SOAP正文中签名的前缀,python,xml,soap,zeep,Python,Xml,Soap,Zeep,使用PythonZeep库,我试图向soap消息添加签名。有一件事我似乎无法弄清楚:签名Id的前缀必须是“wsu”,而不是“ns1” 我当前请求的示例: <soap-env:Body xmlns:ns1="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" ns1:Id="id-dfg098-cc62-2d32-81ds-a2549502hssf

使用PythonZeep库,我试图向soap消息添加签名。有一件事我似乎无法弄清楚:签名Id的前缀必须是“wsu”,而不是“ns1”

我当前请求的示例:

<soap-env:Body xmlns:ns1="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" ns1:Id="id-dfg098-cc62-2d32-81ds-a2549502hssf">
然而,据我所知,在这种情况下没有帮助。因为这不会以正确的前缀为目标


我在网上发现了类似的问题,但是他们从来没有给出任何令人满意的答案。我不熟悉SOAP,因此我已经为自己的无知道歉。

为什么要更改名称空间前缀?它只是实际名称空间的占位符。只要接收方使用正确的xml解析器,名称空间前缀对处理就不重要。唯一“有效”的参数可能是人的可读性。基本上是因为错误消息声明找不到正文上的签名。由于我对SOAP不熟悉,我不确定什么是重要的。但你是说这不可能是原因吗?你是对的,指向同一名称空间的不同前缀不会导致错误。也许你可以使用soapui这样的工具来检查你的请求是否正确。如果你能告诉我们你想要实现什么,那么我们可以以更好的方式帮助你。
<soap-env:Body xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" wsu:Id="id-dfg098-cc62-2d32-81ds-a2549502hssf">
client.set_ns_prefix("ds", "http://www.w3.org/2000/09/xmldsig#")