Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi MTOM mit Delphi 2006 Win32 - möglich? Wie? (https://www.delphipraxis.net/93092-mtom-mit-delphi-2006-win32-moeglich-wie.html)

Legato 31. Mai 2007 16:41


MTOM mit Delphi 2006 Win32 - möglich? Wie?
 
Hallo zusammen!

Im Zuge des Projekts, an dem wir gerade arbeiten, kommunizieren wir mit einem Webservice, der ebenfalls von uns entwickelt wird (XFire). Neben der Übertragung "normaler" Daten müssen wir auch Bilder übermitteln, in Form von binären Daten.

Ich habe hierzu zwei Methoden gefunden, das via Webservice zu verwirklichen: SwA (SOAP with Attachments) und MTOM (Message Transmission Optimization Mechanism). Der Knackpunkt hierbei ist nur: Delphi scheint nur ersteres zu unterstützen, XFire definitiv für lange Zeit nur zweiteres - es ist hier zwar als späteres Feature geplant, aber darauf können wir nicht warten.

Ich informiere mich derzeit per Google-Suche über MTOM, aber als Laie in Sachen Webservice habe ich noch kein Dokument gefunden, das mir verständlich erklärt, wie MTOM Daten kodiert/dekodiert, geschweige denn ein Komponente für Delphi, die mir diese Arbeit abnimmt. Lediglich WSE 3.0 unterstützt es, scheint aber nur für .NET verfügbar zu sein.

Wisst ihr etwas, das mir weiterhelfen könnte? Gibt es vielleicht eine Delphi-Komponente, mit der ich MTOM nutzen kann, oder eine andere Möglichkeit, zwischen einem XFire-Webservice und Delphi Win32 Daten zu tauschen?

Gruß,
Legato

shmia 31. Mai 2007 17:23

Re: MTOM mit Delphi 2006 Win32 - möglich? Wie?
 
Zitat:

Zitat von Legato
... oder eine andere Möglichkeit, zwischen einem XFire-Webservice und Delphi Win32 Daten zu tauschen?

Anstatt die binären Objekte (Bilder) innerhalb von SOAP-Messages zu verschicken,
(MTOM geht hier wohl den Weg, die binären Daten als MIME-Erweiterungen hinten anzuhängen)
könnte man auch nur die URLs in den SOAP-Messages verschicken.

Die clientseitige Software müsste dann die Bilder "ganz normal" über HTTP downloaden.
Wenn die Bilder vom Server zum Client bewegt werden, wäre dies eine einfache und effiziente (da 8-Bit Übertragung) Lösung.
Bei dynamisch generierten Bilder wird's aber eher schwierig.

Udontknow 1. Jun 2007 06:35

Re: MTOM mit Delphi 2006 Win32 - möglich? Wie?
 
Äh, clientseitige Verbindung? Die Bilder sollen doch an den Webservice gesendet werden, und auf den hat man wahrscheinlich recht wenig Einfluss... Oder habe ich da was falsch verstanden?

Bis dann,
Andreas

Legato 1. Jun 2007 13:05

Re: MTOM mit Delphi 2006 Win32 - möglich? Wie?
 
Hallo ihr beiden,

die Bilder müssten in beide Richtungen wandern können. Auf den Webservice haben wir allerdings schon Einfluss, schließlich wird der von den Kollegen direkt gleichzeitig entwickelt. :)
Die URL-Variante würde aber, soweit ich das gerade verstanden habe, nur in eine Richtung funktionieren, nicht?

Gruß,
Legato

DGL-luke 1. Jun 2007 13:37

Re: MTOM mit Delphi 2006 Win32 - möglich? Wie?
 
Hallo,

Q&D: vereinbart mit euren Kollegen ein "magic keyword", an das ihr dann die url dranhängt. Sobald das in einer Nachricht auftaucht und dahinter eine URL, wird die URL vom webservice geladen und in die datenbank/zieldatei/was auch immer ihr da macht/ gesteckt.

CCRDude 1. Jun 2007 13:39

Re: MTOM mit Delphi 2006 Win32 - möglich? Wie?
 
Kann man im Internet Bilder ansehen und auf Seiten hochladen? Ja, kann man ;)

Die URL-Variante, oder nennen wir sie mal einfach REST, könnte genauso beides. Der Webservice kann eine URL an den Client schicken, über die der Client sich ein Bild holen kann. Genauso kann der Client per HTTP-POST auch ein Bild hochladen.

Nur weil XML & SOAP so gerne gehyped werden, muss man ja nicht alles derart damit verkomplizieren ;)

shmia 1. Jun 2007 13:41

Re: MTOM mit Delphi 2006 Win32 - möglich? Wie?
 
Zitat:

Zitat von Legato
Die URL-Variante würde aber, soweit ich das gerade verstanden habe, nur in eine Richtung funktionieren, nicht?

Normalerweise kann man Resourcen von einem Webserver über HTTP nur downloaden.
Man kann aber mit der HTTP-Methode PUT auch Resourcen hochladen.
Üblicherweise ist dies aber auf dem Webserver nicht erlaubt, ansonsten könnte ja jeder hochladen, was er möchte.
Man kann aber die Rechte pro Verzeichnis erteilen und könnte dann z.B. folgende URL verwenden:
Code:
http://www.xfire.org/upload/img4711.jpeg?token=XFIRE

mkinzler 1. Jun 2007 13:43

Re: MTOM mit Delphi 2006 Win32 - möglich? Wie?
 
Es gibt aber eine Erweiterung von HTTP (WebDAV) die auch Schreiben erlaubt.

CCRDude 1. Jun 2007 13:49

Re: MTOM mit Delphi 2006 Win32 - möglich? Wie?
 
Ähm Einspruch, schaut mal weiter oben: HTTP mit POST. Natürlich muss ein Skript auf dem Server stehen, daß die Eingabe versteht, aber dafür braucht man weder PUT noch WebDAV (was wirklich meist erlaubt ist) - ich hab noch KEINEN HTTP-Server erlebt, der kein POST annimmt (wie gesagt, passendes Script auf Serverseite natürlich notwendig).

Und edith gibt noch ein Beispiel: wenn ihr hier im Forum eine Datei an einen Post anhängt, läuft da ja auch kein WebDAV für und ein PUT ist's auch nicht...

Legato 12. Jun 2007 13:19

Re: MTOM mit Delphi 2006 Win32 - möglich? Wie?
 
Hallo,

vielen Dank für eure Antworten.

Werd die Möglichkeit in Betracht ziehen, aber erstmal weiter nach einer Möglichkeit zu suchen, das ganze doch über den Webservice zu machen, schließlich läuft der Rest der Kommunikation schon dort drüber.

Gruß,
Legato


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:21 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz