![]() |
Tbytedybarray return von einer Funktion
Ich habe einen Webservices.
Es gibt eine Funktion gefile. function getFile(const user: string; const pass: string; const appId: Int64; const retId: Int64; const personId: string; const fileId: string ): TByteDynArray; stdcall; Bei dieser Funktion parst Delphi das Resultset mit dem XML - Parser. Das ist aber nur ein Binary File. <soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope"><env:Header xmlns:env="http://www.w3.org/2003/05/soap-envelope"/><soap:Body><ns2:getFileResponse xmlns:ns2="http://services.aals.dev/"><return><xop:Include xmlns:xop="http://www.w3.org/2004/08/xop/include" href="cid:73218242-2924-4c2c-bd2f-21538f6a8a34-25@cxf.apache.org"/></return></ns2:getFileResponse></soap:Body></soap:Envelope> --uuid:61810b24-98c5-4479-a012-e33b8ec6c069 Content-Type: application/binary Content-Transfer-Encoding: binary Content-ID: <73218242-2924-4c2c-bd2f-21538f6a8a34-25@cxf.apache.org> Das Problem wird nirgend beschrieben. Ich glaube das das ein Delphi-Fehler ist. die execption ist: raise EXMLDocError.CreateFmt(Msg, Args); Ich brauche dringend ein Workaround. Wer kann mir da helfen? In keinem Forum ist das Problem Beschrieben. |
AW: Tbytedybarray return von einer Funktion
Was steht denn in
Delphi-Quellcode:
drin? :?:
Msg
Wenn du deine Anfrage ordentlich formatierst, wollen sich bestimmt mehr Leute mit deinen Anliegen auseinandersetzen. So ist das nur ein einziger wüster Textblock. Besser wäre gewesen: Ich habe einen Webservices. Es gibt eine Funktion getfile.
Delphi-Quellcode:
Bei dieser Funktion parst Delphi das Resultset mit dem XML - Parser.
function getFile(const user: string; const pass: string; const appId: Int64; const retId: Int64; const personId: string; const fileId: string
): TByteDynArray; stdcall; Das ist aber nur ein Binary File.
Code:
Das Problem wird nirgend beschrieben. Ich glaube das das ein Delphi-Fehler ist.
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope"><env:Header xmlns:env="http://www.w3.org/2003/05/soap-envelope"/><soap:Body><ns2:getFileResponse xmlns:ns2="http://services.aals.dev/"><return><xop:Include xmlnsop="http://www.w3.org/2004/08/xop/include" href="cid:73218242-2924-4c2c-bd2f-21538f6a8a34-25@cxf.apache.org"/></return></ns2:getFileResponse></soap:Body></soap:Envelope>
--uuid:61810b24-98c5-4479-a012-e33b8ec6c069 Content-Type: application/binary Content-Transfer-Encoding: binary Content-ID: <73218242-2924-4c2c-bd2f-21538f6a8a34-25@cxf.apache.org> die execption ist:
Delphi-Quellcode:
raise EXMLDocError.CreateFmt(Msg, Args);
Ich brauche dringend ein Workaround. |
AW: Tbytedybarray return von einer Funktion
Danke für die FORMATIERUNG:
ich hoffe dass sich jemand meldet. |
AW: Tbytedybarray return von einer Funktion
Zitat:
|
AW: Tbytedybarray return von einer Funktion
wat? Mit
Delphi-Quellcode:
meint er den konkreten Text der Exception.
Msg
PS: Es lässt sich noch schöner formatieren :love:
Code:
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope">
<env:Header xmlns:env="http://www.w3.org/2003/05/soap-envelope"/> <soap:Body> <ns2:getFileResponse xmlns:ns2="http://services.aals.dev/"> <return> <xop:Include xmlnsop="http://www.w3.org/2004/08/xop/include" href="cid:73218242-2924-4c2c-bd2f-21538f6a8a34-25@cxf.apache.org" /> </return> </ns2:getFileResponse> </soap:Body> </soap:Envelope> |
AW: Tbytedybarray return von einer Funktion
Zitat:
Guck mal in die Xml.XMLDoc-Unit. Da gibt es 15 Stellen, wo die Funktion XMLDocError aufgerufen wird (XE3), die dann eine EXMLDocError auslöst. Da er hier anscheinend in die Variante mit CreateFmt reinläuft, gibt es drei mögliche Quellen (Zeilen 898, 1137 und 1949). Der konkrete Text der Exception würde ihn und auch uns helfen ihn zu helfen! |
AW: Tbytedybarray return von einer Funktion
Zitat:
Reaktion (wie man sieht) gleich Null :roll: |
AW: Tbytedybarray return von einer Funktion
Vielen Dank.
Die exception ist "Element return enthält keinen keinen einzelnen Textknoten" KEIN WUNDER ES IST JA EIN BINARY Feld. "Tbytedynarray" Delphi definiert es selber im WSDL - File drin. An dieser Stelle kann ein (PDF,jpeg,png,,,,) Typ zurück kommen SOAP UI kann das prima. |
AW: Tbytedybarray return von einer Funktion
Mir ist die Herkunft von GetFile noch unklar.
Ist das eine Funktion von dir? Wenn ja, wo ist der Quelltext zur Funktion? |
AW: Tbytedybarray return von einer Funktion
Das ist ein Webservice.
auf unserem Server. Wohl verstanden mit dem Program SOAPUI (das ist gratis) läuft es Ich habe den WebServer mal auf mein Amazon gestellt. Hier der link: ![]() Jetzt kannst Du ein Online Soap Client ausprobieren wie dieser: ![]() |
AW: Tbytedybarray return von einer Funktion
Kenn mich mit Webservice und SOAP null aus.
Kannst du nicht ein ganz kleines lauffähiges Projekt hochladen (ja, kein Quelltext-Schnipsel), anhand dessen man dem Problem hinterherdebuggen kann? |
AW: Tbytedybarray return von einer Funktion
Zuerst einmal vielen Dank.
Ich habe jetzt Wochen verbraucht um mit Delphi, Java und Soap vernüpftig anzusprechen, aber das ist erfolglos. Es ist aussichtslos. Irgend einen Wetterdienst das kann glaube ich jedes gratis Tool. Man sollte nicht auf die Presalles hören, da geht immer alles fine. Delphi kann kein Soap mit Namespace ansprechen, da brauche man riesen Erfahrung, dass die richtigen Parameter zu setzen. Standardmässig kann er es nicht. Ich will auch nicht IDE Entwickler werden. Ich bedanke mich für die Hilfe, aber es ist eine Schande wenn Emarcadero Leute sich hinter allen Posten verstecken und sich freuen, wie Leute Ihre Fehler suchen. of wederluege, wir in der Schweiz kennen Produkthaftung. Vielleicht werde ich mich auf die berufen. Ich möchte eigentlich nicht bezahlen für etwas was ich nicht ändern kann. |
AW: Tbytedybarray return von einer Funktion
Na dann, viel Erfolg. Berichte bitte, wie es ausging.
Sherlock |
AW: Tbytedybarray return von einer Funktion
Ich habe mich entschlossen die Delphilizenzen auf ebay zu verkaufen. Von einer Cross-Plattform IDE erwarte ich mehr als nur ein Ediitfeld und einen Button auf eine Maske zu kleben.
Da sich Google in seinem BS nicht für Pascal entschieden hat ist das zwangsläufig. Soap hört nicht bei einer einfachen Wetterabfrage auf. Ohne eine gescheite Javabridge kann man sich auch nicht an grössere Projekte wagen. Genug Frust, vielleicht gibt es ja eine Lösung. |
AW: Tbytedybarray return von einer Funktion
Zitat:
Apple setzt auf Objective C und neuerdings Swift, ich vermute mal dass trotzdem ein großer Teil der Software für OSX/iOS in C/C++ entwickelt wurde. Zitat:
Zitat:
Man kann es für gut oder schlecht halten, dass EMBT auf das NDK und JNI setzt, ist aber wohl der einfachste Weg eine plattformübergreifende Lösung wie diese zu bieten ( mit all den Schwächen die diese hat). Es wäre weit komplexer Delphicode direkt in Java Bytecode zu kompilieren (aber möglich wie RO gezeigt hat). Aber die JavaBridge (JNI) funktioniert eigentlich recht gut. |
AW: Tbytedybarray return von einer Funktion
Guten Abend,
Bis jetzt sind eigentliche nur Lobeshymnen auf Delphi gesungen worden und Keine Lösungen. Ich habe jetzt Visual Studio und xamarin genommen und siehe ich bin Weiter gekommen. Ich kann die Delphi Lizenzen zu 70% abgeben, vielleicht hat eine Interesse. |
AW: Tbytedybarray return von einer Funktion
Noch die allerletzten Information.
Ich habe jetzt VS genommen; Das ganze läuft auf Anhieb. Wenn man Support braucht gibt es genügend Leute die einem helfen, gegen einen Obolus. Scheinbar soll das ganze unter Delphi laufen sagen die einen Delphi-Leute, die verraten es aber nicht. Die andere behauten Delphi unterstützt MTom nicht. Egal, ich habe eine tolle Lösung, und ist mit Xamarin auch Plattformübergreifend. Es ist sehr elegant. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:49 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz