![]() |
AW: benötige Hilfe zur Umsetzung der IDS - Scnittstelle von ITEK
was ist mit form-id und form-name, die sind auch wichtig
|
AW: benötige Hilfe zur Umsetzung der IDS - Scnittstelle von ITEK
Das hatte ich nicht. Ich dachte es reicht wenn ich die ganzen Daten (hookurl,kdnr usw.) per Post mitgebe und gut.
Ich wusste nicht das ich ein komplettes Formular senden muss. |
AW: benötige Hilfe zur Umsetzung der IDS - Scnittstelle von ITEK
Blödsinn, die werden ja gar nicht übertragen. Hab das selbst noch nicht eingebettet ausprobiert. Unterstützt WebBrowser per Standard Weiterleitung?
(Über die technische Eleganz der Schnittstelle lässt sich natürlich streiten. Aber naja.) |
AW: benötige Hilfe zur Umsetzung der IDS - Scnittstelle von ITEK
Scheinbar nicht.
Delphi-Quellcode:
So hatte ich das versucht.
strData :=
'KNDR=' + URLEncode(Edit1.Text) + '&' + 'NAME_KUNDE=' + URLEncode(Edit2.Text) + '&' + 'ACTION=' + URLEncode('SV') + '&' + 'HOOKURL=' + URLEncode('http://.....................'); PostData := VarArrayCreate([0, Length(strData) - 1], varByte); for i := 1 to Length(strData) do PostData[i-1] := Ord(strData[i]); Headers := 'Content-Type: multipart/form-data' + #10#13; WebBrowser1.Navigate('https://eshop................', EmptyParam, EmptyParam, PostData,Headers); |
AW: benötige Hilfe zur Umsetzung der IDS - Scnittstelle von ITEK
Zitat:
#10#13 ist falsch, wenn Windows-Zeilenumbruch CRLF, dann wäre es #13#10 oder bei zwei Zeilenumbrüchen #10#10 (CR+CR) oder #13#10#13#10 (CRLF+CRLF). #10#13 (LF+CR) wäre Linux/Unix-Zeilenumbruch + alter Mac-Zeilenumbruch. (wobei Mac inzwischen von #13 auf #10 umgestiegen ist) |
AW: benötige Hilfe zur Umsetzung der IDS - Scnittstelle von ITEK
Sorry wenn ich das Thema noch einmal aufgreife.
Ich erstelle gerade auch die Itek IDS Schnittstelle. Warenkorb senden klappt auch alles. Nur habe ich keinen Ansatz wie das HookURL Formular aussehen soll. Könnt ihr mir da kurz weiterhelfen. Ich habe aktuell eine HTML Seite "warenkorb.html" erstellt. Die aber keinen Warenkorb erhält.
Code:
Es fehlt mir nur noch das HTML Formular aber hier stehe ich voll auf der Leitung
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta content="text/html" http-equiv="Content-Type" /> <title>Untitled 1</title> </head> <body> <form> Warenkorb:<br/> <input type="text" id="warenkorb" name="warenkorb" style="width: 750px; height: 666px" /> </form> </body> </html> Danke und Grüße Stam |
AW: benötige Hilfe zur Umsetzung der IDS - Scnittstelle von ITEK
Das läuft so, du erstellst die HTML-Seite mit dem Warenkorb und der Callback-URL
Code:
Die rufst du auf und landest im Shop. Wenn der Anwender dann auf IDS-Connect senden drückt, ruft der Shop den Callback mit den Daten auf.
<!doctype html public "-//W3C//DTD HTML 3.2 //EN">
<html><head><title>IDS-Connect Schnittstelle WKS</title></head> <body onload="document.forms['wks'].submit();"> <form id="wks" name="wks" action="https://haendler.de/ids" method="post"> <input type="hidden" name="kndnr" value="..." size="50" maxlength="50"> <input type="hidden" name="name_kunde" value="..." size="50" maxlength="50"> <input type="hidden" name="pw_kunde" value="...." size="50" maxlength="50"> <input type="hidden" name="version" value="1.3" size="5" maxlength="5"> <textarea cols="1" rows="1" name="warenkorb"> <?xml version="1.0" encoding="UTF-8"?> <Warenkorb xmlns="http://www.itek.de/Shop-Anbindung/Warenkorb/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <WarenkorbInfo> <Date>2019-08-22</Date> <Time>11:52:40</Time> <Version>2.0</Version> </WarenkorbInfo> <Order> <OrderInfo> <InquiryNo>2019-20112</InquiryNo> <DeliveryDate>2019-08-22</DeliveryDate> <ModeOfShipment>Lieferung</ModeOfShipment> <Cur>EUR</Cur> </OrderInfo> <OrderItem> <ItemChara>normal</ItemChara> <RefItems> <Customer>MDU=</Customer> <CustomerSubNo>1</CustomerSubNo> </RefItems> <ArtNo>30126867</ArtNo> <Qty>1.00</Qty> <QU></QU> </OrderItem> </Order> </Warenkorb> </textarea> <input type="hidden" name="action" value="WKS" size="3" maxlength="3"> <input type="hidden" name="hookurl" value="https://www.meineseite.de/idsconnect.php?sid=3FEFFA9C85464D0BB49375DA854A7A08" size="256" maxlength="256"> </form></body></html> ![]() Das kann eine ganz normale PHP sein, Hauptsache https
Code:
Die speichert die Antwort vom Shop in eine Datei auf dem Webserver, die kannst Du dann öffnen und weiterverarbeiten.
<?
if (!isset($_REQUEST["sid"])) exit; if (isset($_REQUEST["warenkorb"])) { $fp = fopen("../../idsconnect/".$_REQUEST["sid"], "w"); fputs($fp, ( get_magic_quotes_gpc() ) ? stripslashes($_REQUEST["warenkorb"]) : $_REQUEST["warenkorb"]); fclose($fp); ?> <html> <head> <title>IDS-SCHNITTSTELLE</title> </head> <body> <h1>Schließen Sie nun den Browser und setzen Sie die Bearbeitung in der Software fort!</h1> </body> </html> <? } else { if (file_exists("../../idsconnect/".$_REQUEST["sid"])) { $datei = file("../../idsconnect/".$_REQUEST["sid"]); foreach($datei as $meine_datei) { echo $meine_datei; } } } ?> |
AW: benötige Hilfe zur Umsetzung der IDS - Scnittstelle von ITEK
Hallo Sven,
vielen Dank für deine tolle Hilfe und Beispiele. Ich habe das von Dir mal so eingebaut. Das hat auch sehr gut geklappt. Die PHP Datei legt die Datei an. Ich wollte mal nun einen anderen Versuch starten. Und zwar rufe ich ein WebBrowser Fenster in meiner Software auf. Mein Gedanke war nun bei der Warenkorb-Rückgabe bei LoadComplete der Website ein Objekt auszulesen das die Bezeichnung "Warenkorb" hat. Also das in dem der Warenkorb gespeichert ist. Ich habe das mal vor jahren in ASP gemacht. Hat auch gut funktioniert bis auf die Umlaute. Jetzt in meinem aktuellen Projekt hat ich auch keinen Windows Server laufen, dass ich eine ASP Seite verwenden kann. Möchte auch das schlankere PHP verwenden. Meine aktuelle idsconnect.php
Code:
Wenn ich das so mache, erhalte ich eine Fehlermeldung von ITEK mit der XML Verarbeitung. Ich habe festgestellt, dass wenn & Zeichen im Warenkorb sind geht es so nicht. In der Datei mit deinem Code wird das & Zeichen auch mit & gespeichert. Somit kommt die ITEK-Validierung mit dem & Zeichen in der Textarea nicht klar. Kennst du noch eine Variante wie das & Zeichen in der Textarea auch wie in der Warenkorb-Datei angezeigt wird.
<html>
<head> <title>IDS-SCHNITTSTELLE</title> </head> <body> <h1>Warenkorb Rückgabe:</h1> <textarea id="warenkorb"><?php echo $_REQUEST["warenkorb"] ?></textarea> </body> </html> Sorry für die Fragen, aber Web-Code ist aktuell nicht meine Welt. Grüße und Danke |
AW: benötige Hilfe zur Umsetzung der IDS - Scnittstelle von ITEK
Ich glaube ich verstehe nicht ganz was Du machen möchtest, oder Du, je nachdem.
Nochmal zum Verständnis, die HTML-Seite, die den Warenkorb enthält, muss auf keinem WebServer liegen. Die wird jedes mal on the fly und zum Wegwerfen neu aus der Software erzeugt, aufgerufen und dann muss deine Software warten, bis der Anwender den Warenkorb zurückschickt. Mit dem neuen Edge Browser könntest Du das ganze komplett in die Anwendung einbetten, musst du aber nicht. Also HTML-Seite erzeugen, temporär speichern, per ShellExecute aufrufen und den Anwender machen lassen. Wenn er fertig ist, gespeicherte IDS-Datei aus der PHP abholen. |
AW: benötige Hilfe zur Umsetzung der IDS - Scnittstelle von ITEK
Hallo Sven,
danke für den Hinweis. Jetzt habe ich es hinbekommen. Ich hole jetzt auch die Datei mit meiner Anwendung. Danke noch mal!!! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:19 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