2017-04-11 63 views
0

所以在單獨的腳本我創建分佈式屬性列表數據庫類型的東西通過形式創建字典條目:泡沫肥皂Web服務客戶端 - 多個字典中的值返回問題蟒蛇

ID:老闆,housenumber,郵編,價格

我則試圖通過SOAP Web服務來訪問屬性列表,由此我可以通過郵政編碼或價格範圍進行搜索。

它的功能幾乎是很好,除了在返回給客戶端將只返回最多1個屬性(即使有更多的與給定的規範)的。

皁服務器代碼:

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))) 

返回以下輸出

SEARCH BY:

1 - 郵編2 - 價格3 - 退出

選擇一個選項:1請輸入郵編:CF24 4AN(字符串數組){
串[] = 「鮑勃」, 「23」, 「CF24 4AN」, 「150000」,}

但我想基本上有所有這些值的一個條目,然後在接下來的一個屬性的所有值,即

字符串[] = 「鮑勃,23,C F24 4AN,150000" , 「吉姆,24,CF24 4AN,100000」,}

我試圖擺脫的 「這結束了印刷返回內容[k]的在服務器側」 的路線,正確的輸出,但僅在服務器終端上 - 客戶端最終輸出None。

我想有客戶端打印多個字典項的正確的輸出,但我在努力。

我試圖創建一個列表,但也最終成爲一個getChild錯誤,所以我不確定如何處理這個。

請幫忙!

回答

0

排序它。對於任何有興趣的人來說,必須從spyne導入'Array'並且必須將returns =參數更改爲'Array'