我有烧瓶-Spyne服务器(web服务),我想返回一个XML文件(在他问完之后返回给客户端)。
我想这么做:
有办法做吗?
这里是我的代码:
class Service(spyne.Service):
__service_url_path__ = '/soap';
__in_protocol__ = Soap11(validator='lxml');
__out_protocol__ = Soap11();
@spyne.srpc(DateTime, DateTime, _returns="What to put here?")
def Function(A,B):
GetXML(A,B)
s = open("file.xml");
return s;
if __name__ == '__main__':
app.run(host = '127.0.0.1');非常感谢的帮助。:)
编辑:
现在,这是我的代码:(发送字符串)
@spyne.srpc(DateTime, DateTime, _returns=Iterable(Unicode))
def oracle(A,B):
GetXML(A,B)
s = open("file.xml");
return s发布于 2016-06-19 13:40:05
如果要将其作为文档中的常规字符串返回,则必须将_return类型设置为Unicode。
如果要将其作为xml文档返回,则必须解析它(etree.parse("Databaze.xml"))并返回结果的ElementTree实例。在这种情况下,您的返回类型应该是AnyXml。
另见以下例子:
以字符串的形式发送文档将文档与父上下文隔离开来。它的效率更低一些(例如,<字符变成了<),但在其他方面无害。
作为文档发送使您的文档成为SOAP消息的一部分。它效率更高,但可以从父文档继承名称空间前缀,这可能会对文档造成轻微的更改--也就是说,您输入的内容和返回的内容可能不是字节对字节的相等(但仍然是等效的)。
这完全取决于用例。如果有疑问,返回为字符串。
https://stackoverflow.com/questions/37895243
复制相似问题