Zurück   Flashforum > Flex und AIR > Flex allgemein

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 04-02-2010, 14:52   #1 (permalink)
Neuer User
 
Registriert seit: Jan 2010
Beiträge: 73
Question Webservice - Anhang senden und codieren

Hi zusammen,

kennt sich jemand von euch zufällig mit Webservices und entsprechender Codierung aus?

Ich versende via Webservice eine Email und möchte gerne auch einen Anhang hinzufügen können. Wie und wo ich auf den Webservice zugreifen kann weiß ich schon. Mein Problem liegt in der Codierung und dem Festlegen des Dateipfades.

this.aWebservice.sendEmail(
toField.text,
fromField.text,
fromNameField.text,
2,
subjectField.text,
[bodyField.text] ,
[?????????????],
"",
"");


Da wo die Fragezeichen stehen liegt mein Problem. Hauptsächlich in der Syntax. Er hätte gerne Arrays in base64 codiert...

Ich dachte schon an folgendes:

arr = new File;
arr[0]="nameDatei"
arr[1]="SGFsbG8"
arr[2]="nameDatei"
arr[3]="SGFsbG8"

Aber wie binde ich das ein ?
Mole23 ist offline   Mit Zitat antworten
Alt 04-02-2010, 18:38   #2 (permalink)
Perverted Hermit
 
Benutzerbild von Omega Psi
 
Registriert seit: Mar 2004
Ort: Delmenhorst
Beiträge: 12.146
Was sagt denn die SOAP with Attachements Spec?
Omega Psi ist offline   Mit Zitat antworten
Alt 05-02-2010, 11:16   #3 (permalink)
Neuer User
 
Registriert seit: Jan 2010
Beiträge: 73
Ah ich bin da schon etwas weiter... Wenn ich via Java einfach zwei Arrays an den Webservice übergebe, haut das schonmal hin... Ich muss an sich nurnoch wissen, wie man in Flex eine Array als Variable an die SendMail-Funktion übergibt.

Der Inhalt der Array muss wie folgt aussehen:

arr[0]="test.txt"
arr[1]="SGFsbG8="
Mole23 ist offline   Mit Zitat antworten
Alt 05-02-2010, 13:09   #4 (permalink)
Perverted Hermit
 
Benutzerbild von Omega Psi
 
Registriert seit: Mar 2004
Ort: Delmenhorst
Beiträge: 12.146
Ich habe gerade noch mal meine Java Sourcen angeschaut. Auf Server Seite nimmst du MTOM in Verbindung mit dem WebService? Wenn ja, dann musst du der OMText via setBinary(true) mitteilen, dass es kodierte Daten sind.
Omega Psi ist offline   Mit Zitat antworten
Alt 05-02-2010, 13:33   #5 (permalink)
Neuer User
 
Registriert seit: Jan 2010
Beiträge: 73
Das wird jetzt doch etwas zu kompliziert für mich. Ich arbeite auch erst seit zwei wochen mit flex etc.

Kannst du mir zeigen wie das in einer Funktion aussieht?

Derzeit sieht meine Funktion wie folg aus:

Code:
public function invokeSendMail(event:MouseEvent):void {
   	
var anhang:Array = ["test.txt", "SGFsbG8="];

this.aWebservice.sendEmail(
toField.text, 
fromField.text, 
fromNameField.text, 
2, 
subjectField.text, 
[bodyField.text] , 
[anhang], 
"", "");
Mole23 ist offline   Mit Zitat antworten
Alt 05-02-2010, 13:37   #6 (permalink)
Perverted Hermit
 
Benutzerbild von Omega Psi
 
Registriert seit: Mar 2004
Ort: Delmenhorst
Beiträge: 12.146
Ich rede von Service, dem Java Teil.

Und die sendEmail Methode ist eine vom Service bereitgestellte Methode? Ich würde eine Email Klasse implementieren, das macht die Schnittstelle sauberer und die Implementierung etwas einfacher.

Die Email Klasse kann deinen base64 String als Property bekommen, der dann vom Service/Server verarbeitet wird.
Omega Psi ist offline   Mit Zitat antworten
Alt 05-02-2010, 13:42   #7 (permalink)
Neuer User
 
Registriert seit: Jan 2010
Beiträge: 73
Achso!

Da habe ich leider keinen Einfluss drauf, da ich keine Zugriffsrechte auf dem Server habe. Ich muss die wsdl schon nehmen wie Sie kommt.

Das kann doch auch an sich nicht so schwer sein, einen Array an eine Variable zu übergeben oder habe ich da einen Denkfehler?
Mole23 ist offline   Mit Zitat antworten
Alt 05-02-2010, 13:43   #8 (permalink)
Perverted Hermit
 
Benutzerbild von Omega Psi
 
Registriert seit: Mar 2004
Ort: Delmenhorst
Beiträge: 12.146
Hast du keinen Kontakt zum Entwickler des WebService?

Und wenn du die WSDL hast, hast du ach das XSD und damit weisst du auch, was du wie übergeben musst.
Omega Psi ist offline   Mit Zitat antworten
Alt 05-02-2010, 13:48   #9 (permalink)
Neuer User
 
Registriert seit: Jan 2010
Beiträge: 73
Das weiß ich ja... Eine Array mit zunächst nur zwei Strings. Einen der den Dateinamen enthält, und einen mit "SGFsbG8=", damit er die Codierung auch ausführt.

Wenn man das direkt aufm Server ausführt, haut das auch hin, aber in Flex halt noch nicht ganz.
Mole23 ist offline   Mit Zitat antworten
Alt 05-02-2010, 13:53   #10 (permalink)
Perverted Hermit
 
Benutzerbild von Omega Psi
 
Registriert seit: Mar 2004
Ort: Delmenhorst
Beiträge: 12.146
Eigentlich sollte dann
Code:
var encoder:Base64Encoder = new Base64Encoder();
encoder.encodeUTF8Bytes("This is a String.");
var s:String = encoder.toString()
so möglich sein. Was sagt denn der Server, was der Proxy und was der Debugger?
Omega Psi ist offline   Mit Zitat antworten
Alt 05-02-2010, 14:04   #11 (permalink)
Neuer User
 
Registriert seit: Jan 2010
Beiträge: 73
Also da bekomme ich den Fehler:

1061: Aufruf für eine möglicherweise nicht definierte Methode encodeUTF8Bytes über einen Verweis mit statischem Typ mx.utils:Base64Encoder.

Also den Base64Encoder habe ich importiert...
Mole23 ist offline   Mit Zitat antworten
Alt 05-02-2010, 14:20   #12 (permalink)
Perverted Hermit
 
Benutzerbild von Omega Psi
 
Registriert seit: Mar 2004
Ort: Delmenhorst
Beiträge: 12.146
encodeUTFBytes... in solchen Fällen auch einfach mal die API oder Autovervollständigung konsultieren. Zudem... ist es von mir auch nur eine Idee, wie es laufen könnte...
Omega Psi ist offline   Mit Zitat antworten
Alt 05-02-2010, 14:23   #13 (permalink)
Neuer User
 
Registriert seit: Jan 2010
Beiträge: 73
Na gut, ich seh schon. Da kommen wir erstmal nicht weiter... Am besten ich schlafe da noch ein Wochenende drüber.

Aber trotzdem Danke für deine Hilfe! Und n schönes WE..

Geändert von Mole23 (05-02-2010 um 14:28 Uhr)
Mole23 ist offline   Mit Zitat antworten
Alt 05-02-2010, 17:11   #14 (permalink)
Perverted Hermit
 
Benutzerbild von Omega Psi
 
Registriert seit: Mar 2004
Ort: Delmenhorst
Beiträge: 12.146
Sollte natürlich auch der Decoder ein...
Omega Psi ist offline   Mit Zitat antworten
Alt 05-02-2010, 17:16   #15 (permalink)
Neuer User
 
Registriert seit: Jan 2010
Beiträge: 73
Ich habe doch noch einmal alles umgebaut... Ich lese jetzt ein File ein, codire das in Flex base64, und übergebe dieses als Array.

Er übergibt alles an die richtigen Variablen, das sieht man im Debugger, aber trotzdem erhalte ich eine Mail ohne Anhang...

Mal sehen wie es Montag aussieht...
Mole23 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


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
video Optimal in flv codieren für web!? aphratec Video 9 21-11-2007 07:00
XML codieren Link schreiben HWasow Flash Einsteiger 3 09-01-2007 09:11
Sonderzeichen ohne PHP codieren Tybalt Flash Einsteiger 1 24-09-2006 15:22
SWF-Dateien verschlüsseln/codieren. ANTICHRIST Flash MX 2004 1 02-09-2004 08:18
alle variablen codieren Nightflyer PHP und MySQL 17 20-02-2004 15:33


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:58 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele