- Dieses Thema hat 6 Antworten sowie 3 Teilnehmer und wurde zuletzt vor vor 2 Jahren, 5 Monaten von Markus Franke aktualisiert.
- Beitrag
-
- 10. Mai 2022 um 14:14 Uhr
Hallo liebes Support Team,können Sie ein Beispiel eines http POST Aufrufs mit Transconnect hier zur Verfügung stellen, welche folgenden Kriterien entspricht:
– POST eines Contents mit „Content-Type: multipart/form-data“
– Eine Datei aus dem Prozess heraus soll hochgeladen (Dateiupload) werdenIm Handbuch (Adapterreferenz http) wird dieses Szenario angesprochen, aber mir ist nicht ganz klar, wie das dann in der Umsetzung ausschauen soll.
Vielen Dank und Grüße
00
- Antworten
-
- 11. Mai 2022 um 9:02 Uhr
In den nächsten Tagen wird es dazu einen Community Beitrag inklusive Beispiel-Code geben. Wir möchten sie also bitten sich noch ein wenig zu gedulden.Ihr TRANSCONNECT-Team
00- 18. Mai 2022 um 14:51 Uhr
Hallo vikl,Der passende Artikel ist jetzt in der Community unter folgendem Link verfügbar.
Ihr TRANSCONNECT-Team
00- 25. Mai 2022 um 10:41 Uhr
Vielen Dank für das Beispiel Herr Krüger. Leider kann ich mit Ihrem Beispiel mein Problem immer noch nicht lösen. Ich brauche nämlich folgenden curl Befehl:curl -X POST „https://veryniceURL“ -H „accept: application/json“ -H „Authorization: Bearer XYZ“ -H „Content-Type: multipart/form-data“ -F „fileName=DateiName.csv“ -F „fileUpload=@Batch.csv;type=application/vnd.ms-excel“
Diesen http POST Call bekomme ich irgendwie mit Transconnect nicht definiert.
00- 31. Mai 2022 um 9:52 Uhr
Hallo vikl,Über den HEADER Bereich in der Transformation lassen sich die mit -H markierten Einträge in den HEADER der Http Request übernehmen. Das ist in diesem curl-Befehl jedoch nur für den „accept“ Header notwendig. Die Auswahl der Authorisierung sowie das Angeben der Credentials kann in den Adaptereinstellungen erfolgen und der allgemeine CONTENT-TYPE steht als Attribut in der REQUEST. Der geänderte Dateiname kann über das NAME Attribut im CONTENT übergeben werden. Die in „fileUpload“ definierte Datei muss dabei bereits in der einkommenden Nachricht als Anhang vorhanden sein und wird über die CONTENTID dem CONTENT zugeordnet. Der zusätzlich spezifizierte Typ kann wiederum als Attribut CONTENT-TYPE an den CONTENT hinzugefügt werden.
Folgende Transformation sollte denselben Effekt erzeugen wie der gezeigte curl Befehl:
<?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="/"> <ROOT> <REQUEST OPERATION="POST" EMBED="false" CONTENT-TYPE="multipart/form-data"> <HEADER> <accept>application/json</accept> </HEADER> <CONTENT NAME="DateiName.csv" CONTENT-TYPE="application/vnd.ms-excel"> <xsl:attribute name="CONTENTID"> <xsl:value-of select="//FILE/@CONTENTID"/> </xsl:attribute> </CONTENT> </REQUEST> </ROOT> </xsl:template> </xsl:stylesheet>
Ihr TRANSCONNECT-Team
00- 15. Juni 2022 um 11:31 Uhr
Hallo und vielen Dank für Ihre Antwort,sowie ich das sehe, wandelt Transconnect jeglichen Inhalt im Tag <CONTENT>xyz</CONTENT> in ein curl -d „xyz“ um. Auch das von Ihnen gezeigte Beispiel. Trotz des CONTENT-TYPE=„multipart/form-data“ im Header des Requests.
Für die hier behandelte Fragestellung benötige ich jedoch ein curl -F
Ihr Beispiel und auch folgendes habe ich bereits leider ohne Erfolg ausprobiert:
<REQUEST OPERATION="POST" CONTENT-TYPE="multipart/form-data" EMBED="true" NAME="REQ_FileUpload"> ...
<CONTENT NAME="PART1"> <xsl:text disable-output-escaping="yes"><![CDATA[</xsl:text> <xsl:value-of select="concat('fileName=', //FILE/@NAME)" /> <xsl:text disable-output-escaping="yes">]]></xsl:text> </CONTENT> <CONTENT NAME="PART2"> <xsl:text disable-output-escaping="yes"><![CDATA[</xsl:text> <xsl:value-of select="concat('fileUpload=@', //FILE/@CONTENTID ,';type=application/vnd.ms-excel')" /> <xsl:text disable-output-escaping="yes">]]></xsl:text> </CONTENT> </REQUEST>
Hätten Sie noch weitere Hinweise für mich?
00- 6. Juli 2022 um 11:05 Uhr
Hallo vikl,entschuldigen sie die verspätete Antwort unsererseits.
Die HTTP-Nachricht die der Curl-Request
curl -X POST “https://veryniceURL” -H “accept: application/json” -H “Authorization: Bearer XYZ” -H “Content-Type: multipart/form-data” -F “fileName=DateiName.csv” -F “fileUpload=@Batch.csv;type=application/vnd.ms-excel”
erzeugt, können sie ebenfalls mit folgendem TRANSCONNECT Request generieren
<ROOT>
<REQUEST OPERATION="POST" EMBED="false" CONTENT-TYPE="multipart/form-data">
<HEADER>
<accept>application/json</accept>
<Authorization>Bearer XYZ</Authorization>
</HEADER>
<CONTENT NAME="fileName">DateiName.csv</CONTENT>
<CONTENT NAME="fileUpload" FILENAME="Batch.csv" CONTENT-TYPE="application/vnd.ms-excel" CONTENTID="Batch.csv"/>
</REQUEST>
</ROOT>Wir hoffen das hilft ihnen weiter.
Ihr TRANSCONNECT-Team
00
- Du musst angemeldet sein, um auf dieses Thema antworten zu können.