Autor |
Beitrag |
OlafSt
Beiträge: 486
Erhaltene Danke: 99
Win7, Win81, Win10
Tokyo, VS2017
|
Verfasst: Mo 09.10.17 14:18
Hallo Freunde,
ich habe hier ein merkwürdiges Problem. Ich verbinde mich mit einem Webservice via SOAP (kein REST). Ich rufe dann dort eine Routine auf, die mir ein JPG zurückgeben soll.
Allerdings kommt nur ein kurzes Stück des JPG hier an. Es sollten 16KB sein, werden aber nur 7. Was mache ich in den 5 Zeilen falsch ?
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17:
| procedure TForm1.GetFoto(SDAWNummer: string; Stelle: integer); var Soap: KR_BilderServerSOAP.ImageDBWSSoap; BildUID: string; B: TDynByteArray; begin Soap:=KR_BilderServerSOAP.GetImageDBWSSoap(true); BildUID:=Soap.FindFirstImageByCriteria(SDAWNummer, IntToStr(Stelle)); B:=Soap.Image_Load(BildUID, 260, 0); end; |
WSDL: plakatonline.eshambu.../ImageDBWS.asmx?wdsl
Bin absolut ratlos
_________________ Lies, was da steht. Denk dann drüber nach. Dann erst fragen.
|
|
Sinspin
Beiträge: 1332
Erhaltene Danke: 118
Win 10
RIO, CE, Lazarus
|
Verfasst: Mo 09.10.17 14:44
Hey,
das wirkt als wäre da irgend ein Puffer zu klein geraten.
Schau mal in die generierte tlb zur wsdl ob da Warnungen zu erzeugten Typen enthalten sind.
Ansonsten versuch mal manuell einen Aufruf via Browser auszuführen und schau was an xml Daten geliefert wird.
Die Daten werden ja meißtens Base64 codiert, es sollte also 1/3 mehr sein als die erwartet Größe. Dann weist Du zumindest ob alles kommt.
€: Was passiert eigentlich wenn man den dritten Parameter in Image_Load nicht null lässt?
_________________ Wir zerstören die Natur und Wälder der Erde. Wir töten wilde Tiere für Trophäen. Wir produzieren Lebewesen als Massenware um sie nach wenigen Monaten zu töten. Warum sollte unser aller Mutter, die Natur, nicht die gleichen Rechte haben?
|
|
OlafSt
Beiträge: 486
Erhaltene Danke: 99
Win7, Win81, Win10
Tokyo, VS2017
|
Verfasst: Mo 09.10.17 14:52
In der Delphi-Codedatei findet sich folgendes:
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12:
| |
Hab aber keinen Schimmer, was ich damit anfangen soll, geschweige denn wie ich das Problem lösen soll.
_________________ Lies, was da steht. Denk dann drüber nach. Dann erst fragen.
|
|
Sinspin
Beiträge: 1332
Erhaltene Danke: 118
Win 10
RIO, CE, Lazarus
|
Verfasst: Mo 09.10.17 15:24
Sowohl die wsdl als auch die erzeugte tlb sieht bei mir nicht schlecht aus.
Die Warnungen sind, glaube ich, nur Hinweise das einige Typen nicht eindeutig in ihrem Typ referenziert wurden und so einfach mit ihrem Namen lokal aufgelößt wurden. Scheint aber in allen Fällen geklapt zu haben. Es wird ja für "base64Binary" nach "TByteDynArray" übersetzt.
Muss aber nichts heißen, die einzige plausibele Erklärung ist für mich aktuell das entweder die Daten schon verstümmelt kommen oder beim auspacken was drauf geht.
Es gibt irgendwo in der Seifenkiste ein Ereignis mit dem man die Orginaldaten bekommen kann die geliefert werden. Die am besten mal anschauen.
€: Seife -> THTTPRIO.OnAfterExecute.
_________________ Wir zerstören die Natur und Wälder der Erde. Wir töten wilde Tiere für Trophäen. Wir produzieren Lebewesen als Massenware um sie nach wenigen Monaten zu töten. Warum sollte unser aller Mutter, die Natur, nicht die gleichen Rechte haben?
|
|
OlafSt
Beiträge: 486
Erhaltene Danke: 99
Win7, Win81, Win10
Tokyo, VS2017
|
Verfasst: Mo 09.10.17 16:14
OnAfterExecute hatte ich auch schon ermittelt.
Folgendes XML kommt zurück:
XML-Daten 1: 2: 3: 4: 5: 6: 7: 8: 9:
| <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <soap:Body> <Image_LoadResponse xmlns="http://tempuri.org/"> <Image_LoadResult>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QwooooAKKKKACiiigAooooAKKKKACiiigAooooAkhhM2/DKoQZJY8U57aVWCgb9w3ApyCKW3kjRZlkLASJtyozjmp1uoFAQeZtRQFJHXnJyM11U6dKUVzOz/AK/Q55zqKTsrlMRuwJCMQvXA6U+KEyh23oqoASWNWheRbpC2/azswXHPPoc8VDazrCsoZmUuAAyjOOaFTpKa9661/wCAHPUcXpZ6DGtnViCy8AEEHgg9KFtZWnMQXJDbS2OAfrU73cbF/vnKoNxHLEHOaeL2LzVcmRdsjMAB94H1q/ZYdy+L+r/5E+0rJbf1YqRQPNv24AQZYmkSCR3jXaV3nClhgGnQzCNJhz864GPXNW2v4jKrjdjeGK7emB65qKdOjKKcnZ9fv/r7ypzqptRVymLeQsVKlSFLfMMZApHgkjkWN12s2MZ96nW6XygGLFgsgz/vdKZNMsk8UgLHaF3A9sUpQpKN09dBqVTms1oRtDIpcbSQhwzAcUGB94VQXOAflB4zVw30e1sbgcuR8uc5/GmfaomUqWkThDuUc/KOlW6NHpL+v60JVSr1iVngkR5F2lthwxUZAppRlAJUgHoSOtXzfRncRuU7mYfLnOfxqpcTeaYwCdqIFwfXvUVadKKbjK5VOdRu0lYhooormNwooooAKKKKACiiigAooooAKKKKACiiigAooooAhf77fWih/vt9aKYiYdB9KKB0H0opDCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigCF/vt9aKH++31opiJh0H0ooHQfSikMKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAIX++31oof77fWimImHQfSigdB9KKQwooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAhf77fWih/vt9aKYiYdB9KKB0H0opDCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigCF/vt9aKH++31opiH+YcDgdBR5h9BRRSGHmH0FHmH0FFFAB5h9BR5h9BRRQAeYfQUeYfQUUUAHmH0FHmH0FFFAB5h9BR5h9BRRQAeYfQUeYfQUUUAHmH0FHmH0FFFAB5h9BR5h9BRRQAeYfQUeYfQUUUAHmH0FHmH0FFFAB5h9BR5h9BRRQAeYfQUeYfQUUUAHmH0FHmH0FFFAB5h9BR5h9BRRQAeYfQUeYfQUUUAHmH0FHmH0FFFAB5h9BR5h9BRRQAeYfQUeYfQUUUAHmH0FHmH0FFFAB5h9BR5h9BRRQAeYfQUeYfQUUUAHmH0FHmH0FFFAETud7cDrRRRTEf/Z </Image_LoadResult> </Image_LoadResponse> </soap:Body> </soap:Envelope> |
Um jetzt an das Mime-Encodete Bild heranzukommen, verwende ich folgenden Code:
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41:
| procedure TForm1.AfterExecute(const MethodName: string; SOAPResponse: TStream); var s: string; SS: TStringStream; P: TIdDecoderMIME; f: TEXTFILE; B: TIdBytes; T: TMemoryStream; doc: IXMLDocument; node: IXMLNode; begin if Uppercase(MethodName) = 'IMAGE_LOAD' then begin SS := TStringStream.Create(''); P:=TIdDecoderMIME.Create(nil); T:=TMemoryStream.Create; try SS.CopyFrom(SOAPResponse, 0); s := SS.DataString; doc:=LoadXMLData(s); node:=doc.DocumentElement.ChildNodes.Nodes['soap:Envelope']; node:=node.ChildNodes.Nodes['soap:Body']; node:=node.ChildNodes.Nodes['Image_LoadResponse']; node:=node.ChildNodes.Nodes['Image_LoadResult'];
s:=node.LocalName; s:=node.Text; exit;
B:=P.DecodeBytes(s); T.Write(B[0], Length(B)); T.Position:=0; Image1.Picture.LoadFromStream(T); finally SS.Free; T.Free; P.Free; end; end; end; |
Eigentlich sollte ich, nachdem ich mich durch das XML von Node zu Node gehangelt habe, in node.Text mein BASE64-Encoded Binärkrams haben, der das Bild repräsentiert. Nur ist node.Text leer. node.LocalName ist übrigens "Image_LoadResult".
Ich kapier das alles nicht mehr.
_________________ Lies, was da steht. Denk dann drüber nach. Dann erst fragen.
|
|
Sinspin
Beiträge: 1332
Erhaltene Danke: 118
Win 10
RIO, CE, Lazarus
|
Verfasst: Mo 09.10.17 18:00
Wenn ich das richtig sehe ist das ein denkbar blödes Testbild. Zum Glück ist meine Testseite english. Da sollte dann nix auf deutsch kommen.
Also geliefert wird ein Bild. Ob vollständig oder nicht kann ich nicht bewerten da FF auf dann was anzeigt wenn ich das kodierte Bild verstümmele.
Ich habe gleich den ersten Google Treffer bei Suche nach "base64 decode image" verwendet um das bild zu visualisieren.
xml: Ich verwende immer eine bisschen andere Methode. Interessanterweise bekomme ich aber auch mit der die Daten nicht raus, sondern immer einen Fehler. Aber noch gebe ich nicht auf
€: Jetzt habe ich das gleiche Problem, keine Daten vorhanden. Interessant. Ich hatte so einen Fall vor einigen Jahren einmal. Muss mal sehen wie ich das gelößt habe.
_________________ Wir zerstören die Natur und Wälder der Erde. Wir töten wilde Tiere für Trophäen. Wir produzieren Lebewesen als Massenware um sie nach wenigen Monaten zu töten. Warum sollte unser aller Mutter, die Natur, nicht die gleichen Rechte haben?
|
|
Sinspin
Beiträge: 1332
Erhaltene Danke: 118
Win 10
RIO, CE, Lazarus
|
Verfasst: Mo 09.10.17 18:57
Geschafft.
Habe mit ner Kanone auf ne Ameise geballert und nen Regenbogen bekommen.
Ich verwende msxml2. Sollte registriert sein, musste dir ne tlb für erzeugen.
Zum Decodieren von Base64 verwende ich die unit "encddecd" ist seit mindestens EX2 vorhanden und hat nicht zig Warnungen im Quelltext.
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31:
| var XMLDoc: IXMLDOMDocument; sl: TStringList; s: string; T: TStringStream;
begin CoInitialize(nil);
sl := TStringList.Create; T := TStringStream.Create(''); try sl.LoadFromFile('C:\Users\Public\wsdl_test.txt');
XMLDoc := CreateOleObject('Microsoft.XMLDOM') as IXMLDomDocument; XMLDoc.LoadXML(sl.Text); s := XMLDoc.documentElement.selectSingleNode('./soap:Body/Image_LoadResponse/Image_LoadResult').text; if s <> '' then begin s := DecodeString(s); T.WriteString(s); T.Position := 0; t.SaveToFile('C:\Users\Public\wsdl_test_pic.jpg'); Image1.Picture.LoadFromFile('C:\Users\Public\wsdl_test_pic.jpg'); end; finally T.Free; sl.Free; end; CoUninitialize; end; |
So ist zumindest der Beweis erbracht das ein vollständiges Bild geliefert wird. Warum es nun beim import via Soap nicht klappt steht auf einem anderen Blatt.
_________________ Wir zerstören die Natur und Wälder der Erde. Wir töten wilde Tiere für Trophäen. Wir produzieren Lebewesen als Massenware um sie nach wenigen Monaten zu töten. Warum sollte unser aller Mutter, die Natur, nicht die gleichen Rechte haben?
|
|
OlafSt
Beiträge: 486
Erhaltene Danke: 99
Win7, Win81, Win10
Tokyo, VS2017
|
Verfasst: Di 10.10.17 10:29
Dies hat wunderbar funktioniert, @SinSpin. Tausend dank für deine Hilfe.
Die Unit EncdDecd hat etliches an deprecated drin, mit der Empfehlung doch bitte System.NetEncoding zu verwenden. Habe ich getan, geht genauso prima. Nun bekomme ich auch Bilder angezeigt.
Grazie Mille.
_________________ Lies, was da steht. Denk dann drüber nach. Dann erst fragen.
|
|
|