‎2020 Nov 21 12:45 PM
Hi ,
I have requirement to attach the PDF and send some data through HTTPS API using form-data .I am facing issue in connecting .Kindly help on this.
CALL METHOD cl_http_client=>create_by_url
EXPORTING
url = host
ssl_id = 'ANONYM'
IMPORTING
client = client
EXCEPTIONS
argument_not_found = 1
plugin_not_active = 2
internal_error = 3
OTHERS = 4.
*set http method POST
CALL METHOD client->request->set_method(
if_http_request=>co_request_method_post ).
client->request->set_version(
if_http_request=>co_protocol_version_1_0 ).
CALL METHOD client->request->set_header_field(
EXPORTING
name = 'Authorization'
value = lv_security ).
CALL METHOD client->request->if_http_entity~set_content_type
EXPORTING
* name = 'content-type'
* value = 'multipart/form-data'.
content_type = 'multipart/form-data'.
*CALL METHOD client->request->if_http_entity~set_formfield_encoding
* EXPORTING
* formfield_encoding = cl_http_request=>if_http_entity~co_encoding_raw.
DATA part TYPE REF TO if_http_entity.
DATA: it_formulario TYPE tihttpnvp,
wa_formulario LIKE LINE OF it_formulario.
part = client->request->if_http_entity~add_multipart( ).
CALL METHOD part->set_header_field
EXPORTING
name = 'content-disposition'
value = 'form-data;name="status"'.
CALL METHOD part->append_cdata
EXPORTING
data = 'Paid'.
part = client->request->if_http_entity~add_multipart( ).
CALL METHOD part->set_header_field
EXPORTING
name = 'content-disposition'
value = 'form-data;name="ucid"'.
CALL METHOD part->append_cdata
EXPORTING
data = '987654321'.
*part = client->request->if_http_entity~add_multipart( ).
CALL METHOD part->set_header_field
EXPORTING
name = 'content-disposition'
value = 'form-data;name="billingMonth"'.
CALL METHOD part->append_cdata
EXPORTING
data = '6'.
*part = client->request->if_http_entity~add_multipart( ).
CALL METHOD part->set_header_field
EXPORTING
name = 'content-disposition'
value = 'form-data;name="billingYear"'.
CALL METHOD part->append_cdata
EXPORTING
data = '2020'.
*part = client->request->if_http_entity~add_multipart( ).
CALL METHOD part->set_header_field
EXPORTING
name = 'content-disposition'
value = 'form-data;name="totalAmount"'.
CALL METHOD part->append_cdata
EXPORTING
data = '29999.98'.
*part = client->request->if_http_entity~add_multipart( ).
CALL METHOD part->set_header_field
EXPORTING
name = 'content-disposition'
value = 'form-data;name="currencySymbol"'.
CALL METHOD part->append_cdata
EXPORTING
data = '$'.
part = client->request->if_http_entity~add_multipart( ).
CALL METHOD part->set_header_field
EXPORTING
name = 'content-disposition'
value = 'form-data;name="currencyCode"'.
CALL METHOD part->append_cdata
EXPORTING
data = 'USD'.
*part = client->request->if_http_entity~add_multipart( ).
CALL METHOD part->set_header_field
EXPORTING
name = 'content-disposition'
value = 'form-data;name="invoiceType"'.
CALL METHOD part->append_cdata
EXPORTING
data = 'FOD'.
*part = client->request->if_http_entity~add_multipart( ).
CALL METHOD part->set_header_field
EXPORTING
name = 'content-disposition'
value = 'form-data;name="fileUniqueId"'.
CALL METHOD part->append_cdata
EXPORTING
data = '123456789'.
*part = client->request->if_http_entity~add_multipart( ).
CALL METHOD part->set_header_field
EXPORTING
name = 'content-disposition'
value = 'form-data;name="fileName"'.
CALL METHOD part->append_cdata
EXPORTING
data = 'mainfile.txt'.
*part = client->request->if_http_entity~add_multipart( ).
CALL METHOD part->set_header_field
EXPORTING
name = 'content-disposition'
value = 'form-data; name="file"; filename="mainfile.txt";'.
*CALL METHOD part->set_content_type
* EXPORTING
* content_type = 'applicaiton/text'.
DATA: it_data TYPE xstring,
fichero(140) TYPE c,
len TYPE i.
fichero = '/sapinterface/dev/cic/inbox/invc-batch-sap-eipp-at10/work/mainfile.txt'.
OPEN DATASET fichero FOR INPUT IN BINARY MODE.
READ DATASET fichero INTO it_data.
len = xstrlen( it_data ).
CALL METHOD part->set_data
EXPORTING
data = it_data
offset = 0
length = len.
CALL METHOD client->send
EXPORTING
timeout = 200
EXCEPTIONS
http_communication_failure = 1
http_invalid_state = 2
http_processing_failed = 3
OTHERS = 4.
CALL METHOD client->receive
EXCEPTIONS
http_communication_failure = 1
http_invalid_state = 2
http_processing_failed = 3.
DATA: lo_request1 TYPE REF TO if_http_request,
lo_response1 TYPE REF TO if_http_response.
lo_response1 = client->response.
‎2022 Mar 12 1:11 PM
Hi dhandayuthabani.pugazhendhi
Hi have the same requirement to send a PDF via REST Interface.How did u solved the problem?RegardsG‎2022 Sep 14 10:05 PM
Hi gaza gazo,
did you solve your problem? I have the same issue and want also to send a PDF via REST Interface.
If you found a solutiuon, could you please post you coding? It will be a great help. Thanks very much.
BR Mouad