抱歉我的英文。 我无法理解SPYNE如何响应发送他的请求。 客户以这种形式发送:
<SOAP-ENV: Envelope xmlns: ns0 = "http://schemas.xmlsoap.org/soap/envelope/" xmlns: ns1 = "localhost" xmlns: xsi = "http://www.w3.org/2001/ XMLSchema-instance "xmlns: SOAP-ENV =" http://schemas.xmlsoap.org/soap/envelope/ ">
<SOAP-ENV: Header />
<Ns0: Body>
<Ns1: prerender>
<Ns1: secret> secret_key </ ns1: secret>
<Ns1: requestId> 1 </ ns1: requestId>
<Ns1: projectId> id1 </ ns1: projectId>
</ Ns1: prerender>
</ Ns0: Body>
</ SOAP-ENV: Envelope>
服务器响应如下:
<Soap11env: Envelope xmlns: soap11env = "http://schemas.xmlsoap.org/soap/envelope/" xmlns: tns = "localhost">
<Soap11env: Body>
<Tns: prerenderResponse>
<Tns: prerenderResult0> secret_key </ tns: prerenderResult0>
<Tns: prerenderResult1> 1 </ tns: prerenderResult1>
</ Tns: prerenderResponse>
</ Soap11env: Body>
</ Soap11env: Envelope>
请告诉我如何产生这样的回应:
<SOAP-ENV:Envelope xmlns:ns0="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ns1="localhost"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Header/>
<ns0:Body>
<ns1:secret>INT</ns1:commandType>
<ns1:requestId>STRING</ns1:secret_key>
<ns1:projectId>INT</ns1:requestId>
</ns0:Body>
</SOAP-ENV:Envelope>
如果我从文档中了解到。这是使用ComplexModel完成的。但要实现这样的结果,我无法得到
答案 0 :(得分:0)
您可以使用@rpc(..., _out_variable_names=["foo", "bar"])
更改代码名称prerenderResult0
和prerenderResult1
。
据我所知,在SOAP主体下有多个标签是不合法的。您可以将ctx.out_document更改为您喜欢的任何内容。