シンプルなツイスト 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'
) を応答に追加する方法はありますか?