Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   API Anbindung mit XML oder SOAP möglich. Welches soll ich wählen? (https://www.delphipraxis.net/178489-api-anbindung-mit-xml-oder-soap-moeglich-welches-soll-ich-waehlen.html)

hedie 10. Jan 2014 19:17

AW: API Anbindung mit XML oder SOAP möglich. Welches soll ich wählen?
 
Lieber Union

Vielen Dank!

Ich bin gerade dabei den puren XML Request zu testen...

Es gibt dazu eine online test-suite. Diese generiert auch die "XML-Datei" für den Request und sendet diesen ab.

Ich habe mir zwei memos auf meine form gezogen. Einen idHTTP und einen SSLIOSockshandler... Für die HTTPS Seite

Nun sende ich wie folgt:

Delphi-Quellcode:
Memo2.test := idHttp1.post('https://diensleister.ch....',memo1.lines
Ins memo1 kopiere ich 1:1 den XML Request aus der Testsuite.
Als Antwort erhalte ich jedoch einen Error. "Die XML-Anfrage ist fehlerhaft."

Ich werde nun noch deinen SOAP Code testen.

Vielen Dank dafür!

Dies wird vermutlich jedoch ein etwas grösserer blindflug.

Vielleicht sollte ich hier noch anmerken, dass ich nicht das gesamte Sortiment bzw. Angebot des Dienstleisters nutzen möchte,
sondern nur zwei drei wenige. Zudem ist es nur für mich privat im einsatz...

hedie 10. Jan 2014 19:56

AW: API Anbindung mit XML oder SOAP möglich. Welches soll ich wählen?
 
Gut, hat nun geklappt!

Habe die simple xml variante gewählt.


Für all jene, die es interessiert hier der code der zum Ziel führte:

Delphi-Quellcode:
procedure TForm1.SendPostData;
Var
oXMLHTTP: IXMLHTTPRequest;
lParams: TStringList;
FResponseText: String;
FResponseHdrs: String;
begin
lParams := TStringList.Create;
lParams.LoadFromFile('test.xml');
oXMLHTTP := CreateOleObject('MSXML2.XMLHTTP.3.0') as IXMLHTTPRequest;
oXMLHTTP.open('POST',
'https://secure.dev.gateway.gov.uk/submission', False, EmptyParam,
EmptyParam);
oXMLHTTP.send(lParams.Text);
// The ResponseText is what is returned by the server
FResponseText := Trim(oXMLHTTP.ResponseText);
FResponseHdrs := oXMLHTTP.getAllResponseHeaders;
showmessage(FResponseText);
end;
(Quelle: http://www.delphigroups.info/2/1/207972.html)

Dieser Code verwendet die Datei MSXML2_TLB
Diese geistert im Netz herum. (http://code.google.com/p/omnixml/sou...MSXML2_TLB.pas)

Dazu muss man noch ActiveX und comobj in die uses aufnehmen.

Nun erhalte ich eine korrekte antwort zurück. Der nächste Schritt wird sein, diese zu interpretieren...

Vielleicht hat ja noch jemand eine vermutung, weshalb idhttp.post() nicht funktioniert hat...

Mavarik 13. Jan 2014 10:37

AW: API Anbindung mit XML oder SOAP möglich. Welches soll ich wählen?
 
Funktioniert das besser als Stampit?

Mavarik

p80286 13. Jan 2014 10:53

AW: API Anbindung mit XML oder SOAP möglich. Welches soll ich wählen?
 
Zitat:

Zitat von Mavarik (Beitrag 1243398)
Funktioniert das besser als Stampit?

Für den Unbedarften liest sich das aber seltsam:
Zitat:

Stampit - Mehr Vorteile durch kostenfreie Alternativen
Die STAMPIT-Frankiersoftware wird aufgrund neuer, browser- und plattformunabhängiger
Alternativen der Deutschen Post - wie z.B. des kostenfreien Online-Services INTERNETMARKE - nicht mehr weiterentwickelt.


Union 13. Jan 2014 10:53

AW: API Anbindung mit XML oder SOAP möglich. Welches soll ich wählen?
 
Das ist der Nachfolger von StampIt.

bcvs 17. Feb 2021 10:34

AW: API Anbindung mit XML oder SOAP möglich. Welches soll ich wählen?
 
Zitat:

Zitat von Union (Beitrag 1243090)
Hier eine kleine Hilfe, muß ja nicht jeder das Rad neu erfinden:

Vielen Dank. Das hat mir auch nach 7 Jahren noch geholfen.
Ich muss jetzt auch diese SOAP-Anbindung für die Internetbriefmarke (OneClick4App) implementieren.

Eine Frage dazu:
Bei den weiteren Anfragen muss ja eine pplId (Produktpreisliste) und der ProductCode übergeben werden. Wo bekomme ich diese ID und die Codes denn her?

Union 17. Feb 2021 10:57

AW: API Anbindung mit XML oder SOAP möglich. Welches soll ich wählen?
 
Zitat:

Zitat von bcvs (Beitrag 1483171)
Bei den weiteren Anfragen muss ja eine pplId (Produktpreisliste) und der ProductCode übergeben werden. Wo bekomme ich diese ID und die Codes denn her?

Die PPL werden regelmäßig aktualisiert - du erhältst bei Änderungen automatisierte E-Mails hierzu.
Zitat:

Zitat von produktwebservice@deutschepost.de
Sehr geehrte Damen und Herren,

seit dem 04.12.2020 stehen neue oder geänderte Produkte zur Abholung für Sie bereit.
Der Gültigkeitsbeginn dieser Produkte ist/war am 01.01.2021.

Bitte übergeben Sie im Methodenaufruf zum Holen der Produkte den oben genannten Gültigkeitsbeginn als Parameter.

Diese E-Mail wurde automatisch generiert.
Bei Fragen und Wünschen wenden Sie sich bitte an die ProdWS-Administration!

Manchmal (sic!) wird die PPL auch als E-Mail Anhang im csv-Format gesendet.

Der Abruf erfolgt über den (wsse-gesicherten) ProdWS-Webservice (ProductInformation.wsdl) über das in der E-Mail angegeben Gültigkeitsdatum. Es empfiehlt sich IMHO, die Produktdaten zwischenzuspeichern, da sich ein ständiger Abruf wegen der Größe verbietet (> 20k Zeilen XML pro Abruf).

bcvs 17. Feb 2021 11:27

AW: API Anbindung mit XML oder SOAP möglich. Welches soll ich wählen?
 
OK, also brauche ich doch diesen ProdWS-Service?

Ich hatte den auf dem Anmeldeformular nicht freischalten lassen, weil mich diese Aussagen abgeschreckt haben:

Zitat:

Mit dem ProdWS bekommen Sie jedoch dreimal am Tag E-Mails über neue Produkte, wenn Sie diese Produkte nicht abrufen. Wird der ProdWS freigeschaltet, Sie diesen Service aber nicht nutzen, so bekommen Sie jeden Tag Erinnerungs-E-Mails.

Union 17. Feb 2021 12:20

AW: API Anbindung mit XML oder SOAP möglich. Welches soll ich wählen?
 
Ich erhalte nur E-Mails, wenn es neue Produkte gibt (jeden Abend zwischen 19-20h). Dies aber so lange, bis ich die Produktliste für den angegebenen Gültigkeitsbeginn abrufe (ProductListRequest.timestamp.date). Sinnvollerweise schaffst Du einen eigenen Service, der die noch offenen abzufragenden Daten an den Client zurückmeldet. Der Client sollte dann die Produktliste(n) abrufen, speichern und sich den abgerufenen Gültigkeitsbeginn merken, damit dieser nicht noch einmal verwendet wird.

Alternativ holst Du die Produktlisten zentral und musst für die Verteilung der Daten an die Clients komplett selber sorgen.

bcvs 17. Feb 2021 15:16

AW: API Anbindung mit XML oder SOAP möglich. Welches soll ich wählen?
 
OK, danke.
Muss ich mal schauen, wie ich das handle.


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

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