suds soap web服务客户端 - 多个字典值返回问题python

时间:2017-04-11 18:21:29

标签: python dictionary soap suds

因此,在单独的脚本中,我通过以下形式创建字典条目来创建分布式属性列表数据库类型:

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错误,所以我不确定如何处理它。

请帮忙!

1 个答案:

答案 0 :(得分:0)

对它进行排序。对于任何感兴趣的人,必须从spyne导入'Array',并且必须将returns =参数更改为'Array'