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.