Zurück   Flashforum > Flex und AIR > Flex programmieren

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 11-08-2008, 12:52   #1 (permalink)
reXcel
 
Benutzerbild von Sören
 
Registriert seit: Aug 2002
Ort: Herford
Beiträge: 4.774
HTTPService > Rückgabewert auslesen

Hi,
für das Debugging von einem HTTPService möchte ich die "Rohdaten" einsehen, dir mir vom Server/PHP geschickt wurden.

Die Daten kommen z.B. per POST und geben mir XML aus der Datenbank per PHP zurück. Wenn PHP nun einen Fehler meldet: "echo("derFehler"); , dann sehe ich davon in Flex ja nichts.

Gucke ich in den Debugger, erhalten ich einen riesen Datenbaum von Variablen, finde darin aber nicht den Originalstring, den mir PHP geschickt hat.

Tipps?
Brett vor dem Kopf?

LG
Sören
__________________
iPhone, iPad, Android und Flash Video Streamingserver
Streaming & Live-Streaming für Flash, iPhone, iPad, iPod touch und Android.
Inkl. Player, Videokonvertierung in optimierte Formate, Playercode, Flexplayer, etc...
Sören ist offline   Mit Zitat antworten
Alt 11-08-2008, 13:12   #2 (permalink)
Perverted Hermit
 
Benutzerbild von Omega Psi
 
Registriert seit: Mar 2004
Ort: Delmenhorst
Beiträge: 12.147
Gibt doch einen validen XML String zurück:
Code:
<response>
	<error>
		<message> Ein Fehler ist aufgeteten. </message>
	</error>
</response>
Dann sollte es funktionieren schätze ich, da der Service ja Daten in einem bestimmten Format erwartet.
Omega Psi ist offline   Mit Zitat antworten
Alt 11-08-2008, 14:02   #3 (permalink)
reXcel
 
Benutzerbild von Sören
 
Registriert seit: Aug 2002
Ort: Herford
Beiträge: 4.774
Leider ist es nicht so einfach.
Denn das XML wird online zusammen gebaut. Wenn ich das jetzt abbreche und statt dessen eine andere XML für Errorreporting zurück gebe, dann müsste ich ja sowohl das PHP-File als auch mein Flex-Servicehandler umbauen (also auswerten was da kommt).

Es sollte doch anders und einfacher möglich sein
Schließlich sendet PHP nur einen langen Text/String. Den muss man sich doch anzeigen lassen können. Schließlich liegt er zur Verarbeitung definitiv vor.
__________________
iPhone, iPad, Android und Flash Video Streamingserver
Streaming & Live-Streaming für Flash, iPhone, iPad, iPod touch und Android.
Inkl. Player, Videokonvertierung in optimierte Formate, Playercode, Flexplayer, etc...
Sören ist offline   Mit Zitat antworten
Alt 13-08-2008, 22:19   #4 (permalink)
Flash Gordon
 
Benutzerbild von McUsher
 
Registriert seit: Jul 2006
Beiträge: 190
Möglichkeit a)
beim HTTPService das Event mx.rpc.events.ResultEvent.RESULT abfangen und Auswerten.

Möglichkeit b)
FireFox addon: LiveHttpHeaders installieren, den request mitloggen, auf Replay drücken und die Antwort im Browser angucken.
__________________
Stell dir vor, jemand kommt in ein Auto-Forum und fragt, was ein Motor sei.....
McUsher ist offline   Mit Zitat antworten
Alt 13-08-2008, 22:33   #5 (permalink)
Perverted Hermit
 
Benutzerbild von Omega Psi
 
Registriert seit: Mar 2004
Ort: Delmenhorst
Beiträge: 12.147
Das ResultEvent wertet er ja schon zur Laufzeit aus. Und was bringt Lösung 2 zur Laufzeit wenn die App läuft?

@Sören: Kannst du nciht vielleicht einfach einen Fault erzeugen?
Omega Psi ist offline   Mit Zitat antworten
Alt 13-08-2008, 22:49   #6 (permalink)
Flash Gordon
 
Benutzerbild von McUsher
 
Registriert seit: Jul 2006
Beiträge: 190
*hust*
Hatte irgendwie verdrängt, dass es hier ja das Air Forum ist...

ignoriert mich..

[nachtrag]
err, ist ja doch nicht das air, sondern das flex forum, was soll dann an Möglichkeit b) falsch sein?
Hast du schon mal mit live http headers gearbeitet?
__________________
Stell dir vor, jemand kommt in ein Auto-Forum und fragt, was ein Motor sei.....

Geändert von McUsher (13-08-2008 um 22:54 Uhr)
McUsher ist offline   Mit Zitat antworten
Alt 14-08-2008, 07:53   #7 (permalink)
reXcel
 
Benutzerbild von Sören
 
Registriert seit: Aug 2002
Ort: Herford
Beiträge: 4.774
Zitat:
Zitat von Omega Psi Beitrag anzeigen
@Sören: Kannst du nciht vielleicht einfach einen Fault erzeugen?
Natürlich. Aber auch den möchte ich ja auswerten. Und wenn kein gültiger Wert (==XML) zurück gegeben wird, zeigt mir Flex ja nicht an was denn dann zurück gegeben wurde.

Denk mal an die möglichen PHP-Error. Die sieht man hier ja gar nicht. Man merkt ja nicht mal, wenn da ein Syntaxerror in Zeile 73 angezeigt wird und das PHP-Script ohnehin nicht läuft
Und da die Daten per Post geschickt werden, kann ich das ganze auch nicht einfach so per Browser testen, ohne erst alles parallel für GET umzustricken, was ja wieder ein erhötes Error-Potential mit sich bringt.

Zitat:
Zitat von McUsher
Möglichkeit a)
beim HTTPService das Event mx.rpc.events.ResultEvent.RESULT abfangen und Auswerten.

Möglichkeit b)
FireFox addon: LiveHttpHeaders installieren, den request mitloggen, auf Replay drücken und die Antwort im Browser angucken.
a) werde ich testen und mich hier melden.
b) kenne ich nicht, vertehe aber den Ansatz. Nicht sonderlich elegant, aber dürfte funktionieren. Problematisch wird es, wenn viele Daten in kürzerer Zeit abgerufen werden. Werde ich testen.

Danke euch
__________________
iPhone, iPad, Android und Flash Video Streamingserver
Streaming & Live-Streaming für Flash, iPhone, iPad, iPod touch und Android.
Inkl. Player, Videokonvertierung in optimierte Formate, Playercode, Flexplayer, etc...
Sören ist offline   Mit Zitat antworten
Alt 14-08-2008, 08:32   #8 (permalink)
Perverted Hermit
 
Benutzerbild von Omega Psi
 
Registriert seit: Mar 2004
Ort: Delmenhorst
Beiträge: 12.147
Aber das sind doch nur ein paar Zeilen Code mehr?!

Du müsstest doch nur in Abhängigkeit des ersten XML-Kindes die Daten auswerten, oder sehe ich das falsch?
Omega Psi ist offline   Mit Zitat antworten
Alt 14-08-2008, 09:01   #9 (permalink)
reXcel
 
Benutzerbild von Sören
 
Registriert seit: Aug 2002
Ort: Herford
Beiträge: 4.774
Jein. Wenn ich per PHP ein Problem regulär mitteilen möchte, dann geht es natürlich genauso wie du sagst. Ich sende die Info einfach per XML.

Wenn es aber um unvorhergesehene Fehler geht (die ja gerade während der Entwicklung auftreten - und genau die sind ja interessant!!), dann funktioniert das ja nicht.

Bleiben wir beim Beispiel tippfehler und das gesamte PHP-Script wird abgebrochen: Fehler in Zeile 23.
Wie fangt ihr sowas in Flex ab? Da das Script ja eine Antwort in Textform gibt, meldet Flex keinen Fehler. Aber das zurück gegebene Objekt ist kein XML und somit leer (wenn ich XML empfangen wollte).

Ich nehme an da fehlt mir was grundsätzliches, was ich bisher übersehen habe.
Den Tipp bzgl. "beim HTTPService das Event mx.rpc.events.ResultEvent.RESULT auswerten" hört sich genau richtig an... muss ich aber noch testen.
__________________
iPhone, iPad, Android und Flash Video Streamingserver
Streaming & Live-Streaming für Flash, iPhone, iPad, iPod touch und Android.
Inkl. Player, Videokonvertierung in optimierte Formate, Playercode, Flexplayer, etc...
Sören ist offline   Mit Zitat antworten
Alt 14-08-2008, 09:10   #10 (permalink)
Perverted Hermit
 
Benutzerbild von Omega Psi
 
Registriert seit: Mar 2004
Ort: Delmenhorst
Beiträge: 12.147
Ah ok... ja, das kenn' ich so nicht. Ich kann kein PHP und in Java werden Tippfehler nicht verziehen...
Omega Psi ist offline   Mit Zitat antworten
Alt 14-08-2008, 09:16   #11 (permalink)
reXcel
 
Benutzerbild von Sören
 
Registriert seit: Aug 2002
Ort: Herford
Beiträge: 4.774
Könntest dich mal per PN oder Mail melden. Ich hätte da evtl. was interessantes für dich.
__________________
iPhone, iPad, Android und Flash Video Streamingserver
Streaming & Live-Streaming für Flash, iPhone, iPad, iPod touch und Android.
Inkl. Player, Videokonvertierung in optimierte Formate, Playercode, Flexplayer, etc...
Sören ist offline   Mit Zitat antworten
Alt 14-08-2008, 09:51   #12 (permalink)
Flash Gordon
 
Benutzerbild von McUsher
 
Registriert seit: Jul 2006
Beiträge: 190
Zitat:
Zitat von Sören Beitrag anzeigen
b) kenne ich nicht, vertehe aber den Ansatz. Nicht sonderlich elegant, aber dürfte funktionieren. Problematisch wird es, wenn viele Daten in kürzerer Zeit abgerufen werden. Werde ich testen.
Über die Eleganz lässt sich streiten Für nen Webprojekt empfinde ich das Tool immer als ziemlich perfekt... es hilft transparente proxies oder andere Cachingprobleme zu entdecken oder wie in deinem Fall hat es mir auch schon geholfen, herauszufinden, was der Server da eigentlich genau antwortet (solange es keine binärdaten sind). Vor allem lässt sich auch einwandfrei feststellen, was der Browser (aka Flash) überhaupt an GET/POST Variablen und Headern raushaut.

Bei vielen Daten in kurzer Zeit hilft der integrierte Filter.
__________________
Stell dir vor, jemand kommt in ein Auto-Forum und fragt, was ein Motor sei.....
McUsher ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 13:12 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele