AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke benötige Hilfe zur Umsetzung der IDS - Scnittstelle von ITEK
Thema durchsuchen
Ansicht
Themen-Optionen

benötige Hilfe zur Umsetzung der IDS - Scnittstelle von ITEK

Ein Thema von RSF · begonnen am 12. Okt 2012 · letzter Beitrag vom 22. Dez 2024
Antwort Antwort
Seite 2 von 3     12 3      
Benutzerbild von sh17
sh17

Registriert seit: 26. Okt 2005
Ort: Radebeul
1.664 Beiträge
 
Delphi 11 Alexandria
 
#11

AW: benötige Hilfe zur Umsetzung der IDS - Scnittstelle von ITEK

  Alt 22. Mär 2018, 13:50
was ist mit form-id und form-name, die sind auch wichtig
Sven Harazim
--
  Mit Zitat antworten Zitat
IanVanDuck

Registriert seit: 14. Jun 2013
10 Beiträge
 
Delphi 7 Professional
 
#12

AW: benötige Hilfe zur Umsetzung der IDS - Scnittstelle von ITEK

  Alt 22. Mär 2018, 13:54
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.
  Mit Zitat antworten Zitat
Benutzerbild von sh17
sh17

Registriert seit: 26. Okt 2005
Ort: Radebeul
1.664 Beiträge
 
Delphi 11 Alexandria
 
#13

AW: benötige Hilfe zur Umsetzung der IDS - Scnittstelle von ITEK

  Alt 22. Mär 2018, 14:02
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.)
Sven Harazim
--

Geändert von sh17 (22. Mär 2018 um 14:07 Uhr)
  Mit Zitat antworten Zitat
IanVanDuck

Registriert seit: 14. Jun 2013
10 Beiträge
 
Delphi 7 Professional
 
#14

AW: benötige Hilfe zur Umsetzung der IDS - Scnittstelle von ITEK

  Alt 22. Mär 2018, 14:38
Scheinbar nicht.

Delphi-Quellcode:
  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);
So hatte ich das versucht.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#15

AW: benötige Hilfe zur Umsetzung der IDS - Scnittstelle von ITEK

  Alt 22. Mär 2018, 15:54
Zitat:
#10#13
Sollen das ein oder zwei Zeilenumbrüche sein?

#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)
$2B or not $2B
  Mit Zitat antworten Zitat
StamTheMan

Registriert seit: 10. Jul 2020
3 Beiträge
 
#16

AW: benötige Hilfe zur Umsetzung der IDS - Scnittstelle von ITEK

  Alt 10. Jul 2020, 11:13
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:
<!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>
Es fehlt mir nur noch das HTML Formular aber hier stehe ich voll auf der Leitung
Danke und Grüße
Stam
  Mit Zitat antworten Zitat
Benutzerbild von sh17
sh17

Registriert seit: 26. Okt 2005
Ort: Radebeul
1.664 Beiträge
 
Delphi 11 Alexandria
 
#17

AW: benötige Hilfe zur Umsetzung der IDS - Scnittstelle von ITEK

  Alt 10. Jul 2020, 15:15
Das läuft so, du erstellst die HTML-Seite mit dem Warenkorb und der Callback-URL

Code:
<!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>
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.

https://www.meineseite.de/idsconnect...9375DA854A7A08

Das kann eine ganz normale PHP sein, Hauptsache https

Code:
<?
  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&szlig;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;
      }
    }
  }
?>
Die speichert die Antwort vom Shop in eine Datei auf dem Webserver, die kannst Du dann öffnen und weiterverarbeiten.
Sven Harazim
--
  Mit Zitat antworten Zitat
StamTheMan

Registriert seit: 10. Jul 2020
3 Beiträge
 
#18

AW: benötige Hilfe zur Umsetzung der IDS - Scnittstelle von ITEK

  Alt 14. Jul 2020, 14:39
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:
<html>
<head>
<title>IDS-SCHNITTSTELLE</title>
</head>
<body>
<h1>Warenkorb Rückgabe:</h1>
  <textarea id="warenkorb"><?php echo $_REQUEST["warenkorb"] ?></textarea>
</body>
</html>
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 &amp; 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.

Sorry für die Fragen, aber Web-Code ist aktuell nicht meine Welt.

Grüße und Danke
  Mit Zitat antworten Zitat
Benutzerbild von sh17
sh17

Registriert seit: 26. Okt 2005
Ort: Radebeul
1.664 Beiträge
 
Delphi 11 Alexandria
 
#19

AW: benötige Hilfe zur Umsetzung der IDS - Scnittstelle von ITEK

  Alt 14. Jul 2020, 15:38
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.
Sven Harazim
--
  Mit Zitat antworten Zitat
StamTheMan

Registriert seit: 10. Jul 2020
3 Beiträge
 
#20

AW: benötige Hilfe zur Umsetzung der IDS - Scnittstelle von ITEK

  Alt 14. Jul 2020, 16:26
Hallo Sven,

danke für den Hinweis. Jetzt habe ich es hinbekommen. Ich hole jetzt auch die Datei mit meiner Anwendung.

Danke noch mal!!!
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      

 

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:21 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