donc dans les scripts séparés je crée une chose type de base de données de la liste des biens distribués par créer les entrées du dictionnaire sous la forme:mousse à base de client de service Web de savon - plusieurs valeurs du dictionnaire retour problème python
ID: propriétaire, numéro de maison, code postal, le prix
J'essaye alors d'accéder à cette liste de propriétés par l'intermédiaire d'un service Web de savon par lequel je peux rechercher par le code postal ou la gamme de prix.
Cela fonctionne presque bien, sauf que le retour au client ne retournera qu'un maximum de 1 propriété (même s'il y en a plus avec la spécification donnée).
code de serveur 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]
avec le code client:
def postcode_option():
searchfor = input("Please enter a postcode: ")
print(hello_client.service.postcode_search("{}".format(searchfor)))
renvoie la sortie suivante
RECHERCHE PAR:
1 - CP 2 - Prix 3 - Sortie
Sélectionnez une option: 1 S'il vous plaît entrer un code postal: CF24 4AN (stringArray) {
string [] = "Bob", "23", "CF24 4AN", "150000",}
Mais je veux avoir la quasi-totalité de ces valeurs dans une entrée, puis toutes les valeurs de la propriété suivante dans la prochaine, soit
string [] = « Bob, 23 ans, C F24 4AN, 150000" , "Jim, 24, CF24 4AN, 100000",}
J'ai essayé de se débarrasser de la "ligne de retour contenu [k]" dans le côté serveur, qui finit par l'impression la sortie correcte, mais seulement sur le terminal du serveur - le client finit par sortir None.
Je souhaite que le côté client imprime la sortie correcte de plusieurs entrées de dictionnaire, mais que je rencontre des difficultés.
J'ai essayé de créer une liste mais il y a une erreur getChild, donc je ne suis pas sûr de la façon de l'aborder.
Aidez s'il vous plaît!