Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   WSDL / Webservices / Encoding (https://www.delphipraxis.net/165826-wsdl-webservices-encoding.html)

bauer01 18. Jan 2012 09:50

Delphi-Version: 2010

WSDL / Webservices / Encoding
 
Hallo zusammen,

ich möchte aus Delphi heraus einen WebService rufen.

Ich habe die WSDL Datei erfolgreich importiert, ich verwende das HTTPRIO Element und der WebService kommt auch beim gerufenen Server an.

Das Problem ist:

Der gesendet SOAP Request sieht so aus:

<?xml version="1.0"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schem ......


Der Server erwartet aber ein

<?xml version="1.0" encoding="ISO-8859-1"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schem ....


Frage: Wie bitte bekomme ich Delphi dazu, überhaupt ein encoding in die SOAP Nachricht einzufügen? Wie bitte das gewuenschte Encoding?


Danke vorab schonmal für evtl. Anworten
Bauer

kretabiker 18. Jan 2012 12:13

AW: WSDL / Webservices / Encoding
 
Ausprobiert habe ich es nicht, aber in der THTTPPrio-Komponente gibt es - zumindest in Delphi XE - ein Property Converter und darunter ein Property Encoding. Ich schätze mal, dass du da das passende Encoding eintragen kannst.

lowmax_5 18. Jan 2012 12:46

AW: WSDL / Webservices / Encoding
 
THTTPRO Komponente setzen, wenn nicht schon erfolgt.
Dort gibt es ein Event OnAfterExecute - hier liegt das Response als Stream an.
Hier nun eine schöne Stringverarbeitung nach dem Schema 'Suche und Ersetze' realsieren:

NeuerString:=stringreplace(AlterString,'m:','soap: ',[rfReplaceAll, rfIgnoreCase]);

Viel Spass,

lowmax

bauer01 18. Jan 2012 14:03

AW: WSDL / Webservices / Encoding
 
Hallo zusammen,

erst mal herzlichen Dank für die beiden Antworten.

Endergebnis nach div. Tests ist, dass

a) die Propertys beim Converter alle nicht zum Ergebnis führen. Löungsansatz somit verworfen.
b) Ansatz BeforeExecute tickt, so ist's jetzt eingebaut.


Danke nochmals für die sehr schnelle Unterstützung.

bauer


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:44 Uhr.

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