CL_HTTP_CLIENT - Multipart - XML als String sowie Datei per POST request

Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

Alles rund um die Sprache ABAP®: Funktionsbausteine, Listen, ALV
3 Beiträge • Seite 1 von 1
3 Beiträge Seite 1 von 1

CL_HTTP_CLIENT - Multipart - XML als String sowie Datei per POST request

Beitrag von pse35 (ForumUser / 4 / 0 / 0 ) »
Hallo zusammen,

ich versuche derzeit einen Webservice zu bauen, welcher per POST request einen XML String sowie eine XML Datei überträgt.

Hierfür habe ich zunächst den Conten Type auf 'multipart/form-data' gesetzt und dann im ersten erstellten Multipart Objekt 'text/html; charset=utf8' als Content Type gesetzt.

Ich habe sowohl mit der Methode SET_CDATA also auch SET_FORM_FIELD versucht den XML string hinzuzufügen und zu übermitteln. Leider kommt bei der Schnittstelle kein Dateninhalt einer XML an.

Hat jemand eine Idee woran dies liegen könnte und was ich noch versuchen kann?

***EDIT***
Habs gelöst bekommen. Bei der XML Datei wurde beim einlesen der Header von UTF-8 auf UTF-16 umgestellt. Habe dies wieder Replaced. Nun macht der Webservice was er tun soll.

Code: Alles auswählen.

part_xml_string->set_header_field(
    EXPORTING
      name  = 'Content-Type'
      value = 'text/xml;charset=UTF-8'   ).

    DATA(lv_xml) = iv_xml_string.

    REPLACE '<?xml version="1.0" encoding="utf-16"?>' IN lv_xml WITH '<?xml version="1.0" encoding="utf-8"?>'.
    part_xml_string->set_cdata( lv_xml ).

    response = send_and_receive( ).
Danke und viele Grüße
Zuletzt geändert von pse35 am 10.12.2024 07:26, insgesamt 1-mal geändert.

gesponsert
Stellenangebote auf ABAPforum.com schalten
kostenfrei für Ausbildungsberufe und Werksstudenten


Re: CL_HTTP_CLIENT - Multipart - XML als String sowie Datei per POST request

Beitrag von a-dead-trousers (Top Expert / 4403 / 224 / 1183 ) »
Ich verstehe nicht ganz:
Willst du einen Webservice anlegen, der Daten zurückliefert (RESPONSE)?
Oder einen Webservice anlegen der von sich aus einen weiteren Webservice mit Daten aufruft (REQUEST)?
Oder willst du einen (bestehenden) Webservice per POST mit Daten aufrufen und dann die verarbeiteten Daten zurück erhalten (CLIENT)?
Theory is when you know something, but it doesn't work.
Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why.

ECC: 6.18
Basis: 7.50

Re: CL_HTTP_CLIENT - Multipart - XML als String sowie Datei per POST request

Beitrag von pse35 (ForumUser / 4 / 0 / 0 ) »
Als Client, genau... sorry. Ich poste per request einen XML string sowie eine XML Datei und erwarte eine Response von der Schnittstelle. So sieht der request im Bruno(Postman) aus wenn ich ihn mir als HTTP generieren lasse:

Code: Alles auswählen.

POST /documents?template_name=library%2sample.template&document_name=ps_demo08&user_id=TechUser HTTP/1.1
Authorization: Bearer {{bearer_token}}
Ocp-Apim-Subscription-Key: {{apiKey}}
User: Technical User 
Password: Technical Password
Content-Type: multipart/form-data; boundary=---011000010111000001101001
Host: host.net
Content-Length: 308

-----011000010111000001101001
Content-Disposition: form-data; name="xml"

<?xml version="1.0" encodiing= "utf-8"?>
-----011000010111000001101001
Content-Disposition: form-data; name="zugferd"

\\share\User\Downloads\sample.xml
-----011000010111000001101001--

Seite 1 von 1

Vergleichbare Themen

2
Antw.
1443
Views
RFC Daten -> Business Connector -> Multipart Http Post
von Adrian » 31.07.2013 10:28 • Verfasst in ABAP® für Anfänger
2
Antw.
4372
Views
HTTP-Post von Dateien in ABAP
von Abrissbirne » 17.09.2012 01:44 • Verfasst in ABAP® Core
15
Antw.
3751
Views
POST REQUEST JSON File ABAP
von sap_koun » 10.01.2023 14:25 • Verfasst in ABAP® für Anfänger
4
Antw.
2036
Views
HTTP Request
von carlie » 23.08.2019 20:28 • Verfasst in ABAP® für Anfänger
6
Antw.
9180
Views
HTTP Request
von vagans » 20.10.2011 11:11 • Verfasst in ABAP® Core

Über diesen Beitrag



Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

Unterstütze die Community und teile den Beitrag für mehr Leser und Austausch

Newsletter Anmeldung

Keine Beiträge verpassen! Wöchentlich versenden wir lesenwerte Beiträge aus unserer Community.
Die letzte Ausgabe findest du hier.
Details zum Versandverfahren und zu Ihren Widerrufsmöglichkeiten findest du in unserer Datenschutzerklärung.