我正在尝试更改我的简单扭曲 SOAP 服务器返回的 XML 元素的值。(我用 . 生成了服务器wsdl2py --twisted --complexType Myservice.wsdl
。)
我的返回元素 XSD 如下所示:
<xs:element name="ReplyMessage" type="ReplyTypeEnum">
</xs:element>
<xs:simpleType name="ReplyTypeEnum">
<xs:restriction base="xs:string">
<xs:enumeration value="OK" />
<xs:enumeration value="NOT_VALID" />
<xs:enumeration value="ERROR" />
</xs:restriction>
</xs:simpleType>
</xs:simpleType>
我的服务器当前返回这个:
<SOAP-ENV:Envelope>
<SOAP-ENV:Header/>
<SOAP-ENV:Body>
<ns1:ReplyMessage/>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
我想返回这个(即值'OK'
):
<SOAP-ENV:Envelope>
<SOAP-ENV:Header/>
<SOAP-ENV:Body>
<ns1:ReplyMessage>OK</ns1:ReplyMessage>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
我应该更改值的 Python 代码如下所示:
def __composeResponse_OK(self, response):
response._ReplyMessage = 'OK'
return response
但这显然是行不通的。我尝试了其他一些方法,但它们都不起作用。我根本无法更改返回响应的值!
有没有办法将值'OK'
(或'ERROR'
或'NOT_VALID'
)添加到我的回复中?