因此,在单独的脚本中,我通过以下形式创建字典条目来创建分布式属性列表数据库类型:
ID:所有者,房屋号码,邮政编码,价格
然后我尝试通过肥皂网服务访问该属性列表,我可以通过邮政编码或价格范围进行搜索。
它的功能几乎没有,除了返回客户端只会返回最多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]
使用客户端代码:
def postcode_option():
searchfor = input("Please enter a postcode: ")
print(hello_client.service.postcode_search("{}".format(searchfor)))
返回以下输出
搜索:
1 - 邮政编码2 - 价格3 - 退出
选择一个选项:1请输入邮政编码:CF24 4AN(stringArray){
string [] = “鲍勃”, “23”, “CF24 4AN”, “150000”,}
但我想在一个条目中基本上拥有所有这些值,然后在下一个条目中包含下一个属性的所有值,即
string [] = “Bob,23,CF24 4AN,150000”, “Jim,24,CF24 4AN,100000”,}
我试图摆脱服务器端的“返回内容[k]”行,最后打印正确的输出,但只在服务器端 - 客户端最终输出无。
我希望客户端打印多个字典条目的正确输出,但我正在努力。
我尝试创建一个列表,但最终会出现getChild错误,所以我不确定如何处理它。
请帮忙!
答案 0 :(得分:0)
对它进行排序。对于任何感兴趣的人,必须从spyne导入'Array',并且必须将returns =参数更改为'Array'