因此,在单独的脚本中,我通过以以下形式创建字典条目来创建分布式属性列表数据库类型的内容:
身份证:业主、户号、邮政编码、价格
然后,我试图通过soap web服务访问该属性列表,我可以通过邮政编码或价格范围进行搜索。
它的功能几乎可以,除了返回给客户机的结果最多只能返回1个属性(即使在给定规范中返回的属性更多)。
soap服务器代码:
from spyne import Application, rpc, ServiceBase, Iterable, Integer, Unicode
from spyne.protocol.soap import Soap11
from spyne.server.wsgi import WsgiApplication
from spyne.decorator import srpc
import Pyro4
class PropertySearch(ServiceBase):
@srpc(Unicode, _returns=Iterable(Unicode))
def postcode_search(searchfor):
warehouse = Pyro4.Proxy("PYRONAME:propertylist.warehouse")
contents = warehouse.list_contents()
for k in contents:
if searchfor in contents[k][2]:
print(k, ":", contents[k])
return contents[k]
具有客户端代码:
^{pr2}$返回以下输出
SEARCH BY:
1 - Postcode 2 - Price 3 - Exit
Select an option: 1 Please enter a postcode: CF24 4AN (stringArray){
string[] = "Bob", "23", "CF24 4AN", "150000", }
但是我想在一个条目中基本上包含所有这些值,然后在下一个属性中包含下一个属性的所有值,即
string[] = "Bob, 23, CF24 4AN, 150000", "Jim, 24, CF24 4AN, 100000", }
我尝试去掉服务器端的“returncontents[k]”行,这行最终打印的输出正确,但仅在服务器终端上——客户端最终输出无。
我想让客户端打印多个字典条目的正确输出,但很难。
我尝试创建一个列表,但最终出现了getChild错误,因此我不确定如何处理这个问题。
救命!
分类了。对于感兴趣的人来说,“Array”必须从spyne导入,returns=参数必须更改为“Array”
相关问题 更多 >
编程相关推荐