2017-04-11 4 views
0

だから、別のスクリプトに私は形で辞書エントリを作成することにより、分散型プロパティリストデータベースタイプのものを作成:泡石鹸のWebサービスクライアント - 複数の辞書の値は、発行のpythonを返す

ID:所有者、housenumber、郵便番号、価格

私は、soap webサービスを介してそのプロパティリストにアクセスしようとしており、それによって郵便番号または価格帯のいずれかで検索できます。

クライアントに返されるのは、指定された仕様以上のものがあっても、最大で1つのプロパティのみを返す点を除いて、ほとんど機能します。

SOAPサーバコード:

def postcode_option(): 
    searchfor = input("Please enter a postcode: ") 
    print(hello_client.service.postcode_search("{}".format(searchfor))) 

戻り、次の出力

SEARCH BY:クライアントコードで

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] 

1 - 郵便番号2 - 価格3 - Exit

オプションを選択:1郵便番号を入力してください:CF24 4AN(のStringArray){
列[] = "ボブ"、 "23"、 "CF24 4AN"、 "150000"}

しかし、私は基本的に一つのエントリでは、これらの値のすべてを持っているとしたいし、次の次のプロパティのすべての値、すなわち

文字列[] = 「ボブ、23、C F24の4AN、150000" 、 "ジム、24、CF24 4AN、100000印刷を終了し、サーバ側でコンテンツを返す[K] "行"、}

Iは取り除く試み"正しい出力ですが、サーバの端末だけです。クライアントはNoneを出力してしまいます。

クライアント側で複数の辞書エントリの正しい出力を印刷したいのですが、苦労しています。

リストを作成しようとしましたが、getChildエラーが発生してしまいました。そのため、これにどのように対処するのか不明です。

お願いします!

答えて

0

ソート済みです。関心のある人は、 'Array'をspyneからインポートし、returns =引数を 'Array'に変更する必要がありました

関連する問題