1

我正在尝试更改我的简单扭曲 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')添加到我的回复中?

4

0 回答 0