Zurück   Flashforum > Flex und AIR > Flex programmieren

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 06-08-2008, 10:56   #1 (permalink)
Neuer User
 
Registriert seit: Sep 2006
Beiträge: 70
Problem mit Webservice

Einen wunderschönen guten Tag,

gerade habe ich eine kleine Applikation fertig gestellt, die von einem Webservice Daten abruft und diese dann in einer Liste darstellt. Das klappt auch alles ganz hervorragend, wenn ich das aus dem Flex Builder heraus aufrufe.

Sobald ich das allerdings außerhalb des Flex Builders in der released Version z.B. im firefox aufrufe, funktioniert das ganze nicht mehr.

Woran kann das liegen und wie kann ich den Fehler beheben?

Viele Grüsse und danke schonmal
MausFan
MausFan ist offline   Mit Zitat antworten
Alt 06-08-2008, 10:59   #2 (permalink)
voidboy
 
Benutzerbild von rendner[i]
 
Registriert seit: Sep 2004
Ort: München
Beiträge: 5.588
Was genau geht nicht (eventuell Codebeispiel), bekommst du eine Fehlermeldung?
__________________
ERROR: Signature is too large
rendner[i] ist offline   Mit Zitat antworten
Alt 06-08-2008, 11:11   #3 (permalink)
Neuer User
 
Registriert seit: Sep 2006
Beiträge: 70
Arrow

Also folgendermaßen sieht mein Code aus:
PHP-Code:

import mx
.controls.Alert;
import mx.rpc.events.FaultEvent;
import mx.collections.ArrayCollection;
import de.villaBosch.SearchCompoundsResultEvent;
import de.villaBosch.SabiorkService;
[
Bindable] public var completion:Array;
[
Bindable] private var compoundResult:ArrayCollection;

private function 
addContentToArray():void{
    
completion = new Array();
    var 
sabio:SabiorkService = new SabiorkService();
    
cursorManager.setBusyCursor();
    
sabio.searchCompounds("");
                          
     
sabio.addsearchCompoundsEventListener(compoundsFound);
                     
    
sabio.addSabiorkServiceFaultEventListener(faultEvent);
                
                
}
            
private function 
compoundsFound(e:SearchCompoundsResultEvent):void{
    
compoundResult e.result as ArrayCollection;
    
cursorManager.removeBusyCursor();
    for (var 
i:Number 0i<=e.result.lengthi++){
        
completion.push(compoundResult.getItemAt(i).toString());
    }    
}

private function 
faultEvent(e:FaultEvent):void{
    
Alert.show("An error occurred" e.fault.faultDetail.toString() , "Warning");

In der Anlage ist die Fehlemeldung die ich ausgeben habe lassen.
Angehängte Grafiken
Dateityp: jpg untitled.JPG (4,9 KB, 24x aufgerufen)
MausFan ist offline   Mit Zitat antworten
Alt 06-08-2008, 11:20   #4 (permalink)
voidboy
 
Benutzerbild von rendner[i]
 
Registriert seit: Sep 2004
Ort: München
Beiträge: 5.588
Hmm kann da jetzt nichts sehen, wie setzt den der Service den request ab (kannst die sensiblen Daten ja ändern)?
Kann man aus dem FaultEvent eine etwas aussagekräftigere Meldung bekommen?

Ansonsten fällt mir erst einmal nur so etwas ein:
Vielleicht benötigst du noch eine externe Datei, die du beim deployen vergessen hast?
__________________
ERROR: Signature is too large
rendner[i] ist offline   Mit Zitat antworten
Alt 06-08-2008, 11:25   #5 (permalink)
mut
Neuer User
 
Registriert seit: Jul 2008
Beiträge: 215
Da wird wohl die crossdomain.xml Datei fehlen, die auf dem Server des Webserviceanbieter liegen muss, und dem FlashPlayer erlauben muss den Webservice zu nutzen.

Schau mal ob unter der Domain, bzw Subdomain, die Datei crossdomain.xml vorhanden ist und ob diese den Zugriff erlaubt.
Also rufe z.B. domain.com/crossdomain.xml bzw. subdomain.domain.com/crossdomain.xml auf, wobei es sich bei domain.com um die Domain des Webservice handeln muss.

Ist keine Berechtigung vorhanden, kannst du den Webservice nicht direkt nutzen. Du müsstest es dann über einen Proxy machen, der dir den Zugriff erlaubt.
mut ist offline   Mit Zitat antworten
Alt 06-08-2008, 11:57   #6 (permalink)
Neuer User
 
Registriert seit: Sep 2006
Beiträge: 70
Vielen Dank schonmal.

Aber es ist ja so, dass ich, wenn ich das ganze in Flex starte alles funktioniert. Und wenn ich das ganze als release build mache und dann von der Festplatte die HTML Datei aufrufe, dann funktioniert es nicht. Wenn ichs im Flexbuilder aufmache funktionierts wie gesagt.
MausFan ist offline   Mit Zitat antworten
Alt 06-08-2008, 12:07   #7 (permalink)
voidboy
 
Benutzerbild von rendner[i]
 
Registriert seit: Sep 2004
Ort: München
Beiträge: 5.588
Im Flexbuilder sind manche "Einschränkungen aufgehoben", da man ansonsten schlecht entwickeln kann.
__________________
ERROR: Signature is too large
rendner[i] ist offline   Mit Zitat antworten
Alt 15-08-2008, 15:01   #8 (permalink)
Neuer User
 
Registriert seit: Aug 2004
Beiträge: 287
da ich das gleiche problem habe:

im prinzip müsste ich also dem webservice provider sagen:
lege mir bitte eine crossdomain.xml an, die meiner flash anwendung den zugriff erlaubt?

Zitat:
Ist keine Berechtigung vorhanden, kannst du den Webservice nicht direkt nutzen. Du müsstest es dann über einen Proxy machen, der dir den Zugriff erlaubt.
wie funktioniert das mit dem proxy?
~flasher 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:19 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele