Silverlight & PHP – Teil 4 (Zusammenfassung)

Wie bereits angekündigt gibt es noch eine kleine Zusammenfassung:
Wir haben einen kleinen Webservice in PHP geschrieben. Damit wir die wsdl nicht manuell schreiben müssen haben wir dafür das NuSoap Toolkit verwendet.
In einer kleinen Silverlight Applikation haben wir die Daten des Webservices abgerufen und angezeigt.

Hier nochmal die nötigen Download-Links:
PHP Webservice
Visual Studio 2010 – Silverlight Applikation
Nusoap Toolkit


An sich war das Ganze kein Hexenwerk, dennoch ist es erstaunlich wie viele Probleme bei einem so kleinen Projekt auftreten können. Was mich am längsten beschäftigt hat, war das Problem, dass ich die Anwendung nicht lokal debuggen konnte, da ich keine Rechte hatte auf meinen Webservice im Internet zuzugreifen. Damit ein Domänenübergreifender Zugriff möglich ist, benötigt man eine ‚ClientAccessPolicy.xml‘. Es reicht aber nicht die Datei einfach zu erstellen, sondern sie muss dann auch im Stamm der Domäne, in der sich der Dienst befindet, gespeichert werden! (Was nicht zwingend dem Speicherort der Silverlight Anwendung entspricht ;-)). Ich habe unten noch einen Link zu diesem Thema …

Ein ungewöhnliches Problem tritt dann noch beim Opera auf – das konnte ich bis jetzt auch noch nicht lösen. Wenn ich die Anwendung im Opera öffne, kommt die Meldung „Klicken, um diese Steuerung zu aktivieren und zu benutzen.“ Ich kenn das von Flash, da gibt’s aber ein Javascript mit dem man das umgehen kann. Im Internet Explorer tritt dieses Problem nicht auf. Unter Umständen hängt es auch damit zusammen, das Opera nicht offiziell unterstütz wird.

Das letzte Problem ist ein ‚Anwendungsarchitektur‘ Problem. Ich habe die Servicezugriffe in meiner CDManager Klasse gekapselt. Leider wird die Servicereferenz dadurch nicht in die XAP Datei übernommen, somit ist ein Zugriff auf den Webservice nicht möglich. Dafür habe ich einen Workaround: Einfach die Servicereferenz mit demselben Namen im Hauptprojekt nochmals hinzufügen.


Am Ende noch paar Interessante Links zu dem Thema:
Verfügbar machen eines Diensts über Domänengrenzen hinweg
Silverlight & PHP
Programming with NuSOAP

2 Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert