斯宾。如何为一个标签 xml 提供服务
Posted
技术标签:
【中文标题】斯宾。如何为一个标签 xml 提供服务【英文标题】:Spyne. How can i make service for one tag xml 【发布时间】:2018-02-05 12:20:46 【问题描述】:曾在 python 2.7、django 1.6、spyne 2.11 上工作
我有这个 xml:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE inquiry_A2 SYSTEM "inquiry_A2.dtd">
<!-- Optional -->
<inquiry_A2>
<!-- Optional -->
<Consignee>
<AgencyCode>123123</AgencyCode>
<PartyID>123123</PartyID>
</Consignee>
<SubstitutionIndicator>123123</SubstitutionIndicator>
<Campaign>123123</Campaign>
<DocumentID>1</DocumentID>
</inquiry_A2>
inquiry_A2 是一个根元素 我想让 spyne 继续这个请求,但我不知道怎么做? 问题是spyne rpc需要方法名和参数,例如:
@rpc(RequestInquiry)
def inquiry_A2(ctx, inquiry_A2):
return True
但是在这个例子中 spyne 生成的 xml 是:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE inquiry_A2 SYSTEM "inquiry_A2.dtd">
<!-- Optional -->
<inquiry_A2>
<inquiry_A2>
<!-- Optional -->
<Consignee>
<AgencyCode>123123</AgencyCode>
<PartyID>123123</PartyID>
</Consignee>
<SubstitutionIndicator>123123</SubstitutionIndicator>
<Campaign>123123</Campaign>
<DocumentID>1</DocumentID>
</inquiry_A2>
</inquiry_A2>
这可能与 spyne 有关吗?我无法更改传入的 xml
【问题讨论】:
将_body_style='bare'
传递给@rpc 能解决您的问题吗?
@BurakArslan 非常感谢,我尝试了 _body_style='bare' 及其帮助
【参考方案1】:
你需要:
@rpc(RequestInquiry, _body_style='bare')
def inquiry_A2(ctx, inquiry_A2):
return True
【讨论】:
以上是关于斯宾。如何为一个标签 xml 提供服务的主要内容,如果未能解决你的问题,请参考以下文章
如何为某些 Spring Boot Micrometer 指标提供标签,但不为其他指标提供标签?
Java web.xml - 如何为任何不匹配的请求执行一个包罗万象的 servlet 以转发到 index.html?