HTTP-Post von Dateien in ABAP

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

HTTP-Post von Dateien in ABAP

Beitrag von Abrissbirne (ForumUser / 1 / 0 / 0 ) »
Hallo zusammen,

meine Frage ist schnell erklärt. Ich versuche einen Report zu bauen, der über HTTP-Post eine (oder mehrere Dateien) an eine bestimmte URL schickt. Hat da jemand bereits Erfahrungen gesammelt?

Viele Grüße

A

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


Re: HTTP-Post von Dateien in ABAP

Beitrag von a-dead-trousers (Top Expert / 4271 / 213 / 1140 ) »
hi!

Sofern du weißt wie eine HTTP Kommunikation abläuft, kannst du dir ja mal das Interface IF_HTTP_CLIENT anschauen.
(Implementierende Klasse CL_HTTP_CLIENT)
Es gibt sicher auch Bausteine, die eine Menge der Initialisierungsarbeit für bestimmte Anwendungsgebiete abnehmen, aber dafür musst mehr Infos posten, was denn versendet werden soll.

lg
ADT
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: HTTP-Post von Dateien in ABAP

Beitrag von Tron (Top Expert / 1327 / 35 / 331 ) »
Moin,
möge Dir Dieser "Snippet" helfen.

Code: Alles auswählen.


DATA e_xml TYPE string.
DATA x_xml TYPE xstring.
DATA lt_makt TYPE TABLE OF makt.
DATA xlen TYPE i.
DATA traw TYPE TABLE OF logdata.
DATA fn TYPE string VALUE 'C:\tempSchema.xml'.
DATA http_rc TYPE i.
DATA: subrc TYPE i,
      errortext TYPE string.


DEFINE m_check_err.
  if sy-subrc <> 0.
    call method l_client->get_last_error
      importing
        code    = subrc
        message = errortext.
    message s000(sr) with errortext.
    exit.
  endif.
END-OF-DEFINITION.



DATA:
    l_client TYPE REF TO if_http_client,
    l_request TYPE REF TO if_http_request,
    l_url TYPE string VALUE 'http://10.144.24.222:8081'.

DATA: response TYPE string.


*cl_http_client=>create_by_destination( EXPORTING
* destination = http_dest IMPORTING client = l_client ).


* Creation of new IF_HTTP_Client object
CALL METHOD cl_http_client=>create_by_url
  EXPORTING
    url                = l_url
  IMPORTING
    client             = l_client
  EXCEPTIONS
    argument_not_found = 1
    plugin_not_active  = 2
    internal_error     = 3
    OTHERS             = 4.


m_check_err.

l_client->request->set_header_field( name = '~request_method'
value = 'POST' ).



*IF protocol = 'HTTP/1.0'.
*l_client->request->set_version(
*     if_http_request=>co_protocol_version_1_0 ).
*ELSE.
  l_client->request->set_version(
       if_http_request=>co_protocol_version_1_1 ).
*ENDIF.

*CALL METHOD l_client->request->set_method(
*  if_http_request=>co_request_method_post ).


* filling the payload of the request

*Dem POST-Aufruf können Parameter angehängt werden:
*
*  writeDebug =“checked“,leer(default)
*Die generierten Ergebnisse und auch das übergebene XML wird auf dem
*Server abgelegt.Diese Option darf nicht im Multi-User Betrieb verwendet
* werden!
*
*  data=XML-Data
*Dieser Parameter überträgt die XML-Daten.
*template=Name des K-document Templates
*Der Name der Vorlage ohne die Dateiendung (.kdoc)
*
*  noencoding=“checked“,leer(default)
*Das Ergebnisdokument wird standardmäßig als BASE64 kodierter String
*zurückgeliefert. Diese Kodierung lässt sich durch den Parameter
*abschalten.
*
*  outputtype=“wordml“(default),“pdf“,“word97“
*Über diesen Parameter kann das Format des Ergebnisdokumentes
*beeinflusst werden.

CALL METHOD l_client->request->set_form_field
  EXPORTING
    name  = '$GET'
    value = 'alltemplates'.

* sending/receiving
l_client->response->get_status( IMPORTING code = http_rc ).


CALL METHOD l_client->send
  EXCEPTIONS
    http_communication_failure = 1
    http_invalid_state         = 2
    http_processing_failed     = 3
    OTHERS                     = 4.

l_client->response->get_status( IMPORTING code = http_rc ).

m_check_err.

CALL METHOD l_client->receive
  EXCEPTIONS
    http_communication_failure = 1
    http_invalid_state         = 2
    http_processing_failed     = 3.

m_check_err.

**
**
***data http_rc type i.
*****http status code
***l_client->response->get_status( IMPORTING code = http_rc ).
**
***CLEAR: xml_xstring.
***xml_xstring = client->response->get_data( ).
**
**
**

* Capture the result data
response = l_client->response->get_cdata( ).

* VERY IMPORTANT: close your connection
l_client->close( ).



exit.
aus meiner Privatsammlung "Daten schaffen ... ohne Waffen" :wink:
gruß Jens
<:: XING-Gruppe Tricktresor::>
Die deutsche Rechtschreibung ist Freeware, du darfst sie kostenlos nutzen –
Aber sie ist nicht Open Source, d. h. du darfst sie nicht verändern oder in veränderter Form veröffentlichen.

Seite 1 von 1

Vergleichbare Themen

3
Antw.
4891
Views
XML Datei über HTTP Post versenden
von Sigi » 10.09.2004 12:05 • Verfasst in Web Application Server
2
Antw.
1239
Views
RFC Daten -> Business Connector -> Multipart Http Post
von Adrian » 31.07.2013 10:28 • Verfasst in ABAP® für Anfänger
21
Antw.
13880
Views
HTTPS POST mit Dateien anhängen
von Adrian » 28.06.2013 12:03 • Verfasst in ABAP® für Anfänger
15
Antw.
1446
Views
POST REQUEST JSON File ABAP
von sap_koun » 10.01.2023 14:25 • Verfasst in ABAP® für Anfänger
0
Antw.
1424
Views
ABAP HTTP-Request
von tohe » 05.02.2015 10:38 • Verfasst in ABAP® für Anfänger

Über diesen Beitrag


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

Aktuelle Forenbeiträge

Zwischensumme Adobe Forms
vor 3 Tagen von Lucyalison 1 / 64
Interne Tabelle
vor 5 Tagen von black_adept 2 / 133
MaLo-Checker in ABAP
vor einer Woche von A6272 6 / 254

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.

Aktuelle Forenbeiträge

Zwischensumme Adobe Forms
vor 3 Tagen von Lucyalison 1 / 64
Interne Tabelle
vor 5 Tagen von black_adept 2 / 133
MaLo-Checker in ABAP
vor einer Woche von A6272 6 / 254

Unbeantwortete Forenbeiträge

Zwischensumme Adobe Forms
vor 3 Tagen von Lucyalison 1 / 64
Group Items auf einer Filterbar
vor einer Woche von Bright4.5 1 / 107
tRFC Transaktionen SM58
vor 4 Wochen von A6272 1 / 140