2016-07-13 39 views
5

Ich brauche ein paar verschachtelte Daten zu meinem SOAP-Client zu übergeben, ich glaube, ich weiß, wie die komplexen Argumente erstellen ...Wie erstellt man komplexe Argumente mit Zeep (SOAP-Client für Python) und Verschachteln von Daten?

id = ucmdb.get_type('ns17:ID') 

Jetzt möchte ich einige „Argumente“ zu diesem ‚ci‘ geben, wie Darf ich das machen? Ich werde zeigen, was ich mit einem Beispiel bedeuten die alten Suds mit dem ich weiß, wie man verwendet:

id = ucmdb.factory.create('ns17:ID') #complex 
id._temp = "true" #first "argument" 
id.value = dict['logical_name'] #second "argument" 

Wie kann ich das mit Zeep?

Antwort

0

Schauen Sie sich den Abschnitt "Verwenden von SOAP-Headern" in http://docs.python-zeep.org/en/latest/in-depth.html an.

Ich konnte diese Informationen verwenden, um ein Skript zu schreiben, das in Zuora integriert ist und komplexe Typen im Soap-Header benötigt. Siehe http://community.zuora.com/t5/API/Python-quickstart/m-p/10779/highlight/true#M403

+0

Es sagt "SOAP-Header werden im Allgemeinen für Dinge wie Authentifizierung verwendet", soooo ist es für diese verwendet, ich weiß nicht viel über Web-Services, so könnte bitte ein wenig Hilfe oder Erklärung dazu benötigt werden. Vielen Dank! –

+0

Versucht, was Sie getan haben: 'intProp_type = client.get_type ('ns17: IntProp') \t intProp = intProp_type (name =" slots ", value = 56)' aber es hat nicht funktioniert, ein Fehler erscheint: KeyError: "Nein Geben Sie "IntProp" im Namensraum http://schemas.hp.com/ucmdb/ui/1/types ein. Verfügbare Typen sind: {http://schemas.hp.com/ucmdb/ui/1/types}ClassNameAndIcons, { http://schemas.hp.com/ucmdb/ui/1/types}ClassNameAndIcon " –

+0

Können Sie mir erklären, für was ist die Methode" client.service.create "? –