next up previous contents
Nächste Seite: Deutsche Zusammenfassung des ZSI Aufwärts: Komplexe Datentypen Vorherige Seite: Den Erweiterten Server erstellen   Inhalt

Der erweiterte Client

Der Client selbst ist einfach zu implementieren, da er nur die getter Methoden der MatheService_services.py aufruft. in unserem Beispiel sieht das so aus: language=Python, frame=shadowbox, tabsize=2, numbers=none
\begin{lstlisting}[frame=single, title={MyMatheServiceClient.py}]
from MatheServ...
...ns.Zahl1,
\uml {u}nd, options.Zahl2, betr\uml {a}gt ,response
\end{lstlisting}
Interessanter als der Client ist MatheService_services.py. Ich hatte hier oftmals Probleme beim Erzeugen des Codes. Folgender Fehler trat bei mir reproduzierbar auf: language=Python, frame=shadowbox, tabsize=2, numbers=none
\begin{lstlisting}[frame=single, title={Fehlerhafte MatheService\_services.py}]
...
...uloResponse.typecode)
result = response._result
return result
\end{lstlisting}
In der Funktion gerSquare wurden die Parameter self und x nicht durch ein Komma getrennt, was beim Aufrufen der Funktion vom Client aus dazu führt, dass wir die Fehlermeldung, getSquare erwartet genau einen Parameter, aber zwei wurden übergeben, erhalten. Der nächste Fehler ist, dass die Funktion nichts zurück gibt. Hier musste in der Funktion getSquare() noch die Zeile:
result = response._result und return result hinzugefügt werden.
Das komplette Projekt findet ihr im Downloadbereich
Das wars, der Client läuft!

Richard Mutschler 2007-03-20