Olá Praveen,
Também estou tentando fazer o mesmo. Pode me indicar por favor os passos envolvidos?
Avalados por :
Olá a todos,
Estou tentando enviar dados no formato Json para outro aplicativo usando uma chamada a um serviço web.
1. Obter Token
2. Com base no token, preciso enviar os dados.
Consegui obter o token e também enviar os dados usando ele.
Aqui está o problema: Minha resposta após enviar os dados é 200 & (sucesso: TRUE)
Mas ao verificar o aplicativo, só o arquivo aparece e não os dados.
Se eu fizer a mesma coisa usando o Postman, consigo ver os dados lá.
Aqui está meu trecho de código,
Por favor, sugira algo....
data: lv_url tipo cadeia valor 'https://XXXXXXXXXX?transformation=JSON Ewaybill (Standard)-1.03'.
cl_http_client=>create_by_url(
exporting
url = lv_url " Destino lógico (especificado na chamada da função)
importing
client = l_http_client " Abstração de Cliente HTTP
exceptions
argument_not_found = 1
plugin_not_active = 2
internal_error = 3
others = 4
).
l_http_client->request->set_method( if_http_request=>co_request_method_post ).
l_http_client->request->set_version( if_http_request=>co_protocol_version_1_1 ).
call method l_http_client->request->set_header_field
exporting
name = 'HOST'
value = 'live.encomply.com'.
call method l_http_client->request->set_header_field
exporting
name = 'Authorization'
value = ls_tkn_v.
call method l_http_client->request->set_header_field
exporting
name = 'app-id'
value = 'envoice'.
call method l_http_client->request->set_content_type
exporting
content_type = 'multipart/form-data'.
*********************************Corpo
multipart = l_http_client->request->add_multipart( ).
multipart->set_header_field(
name = if_http_header_fields=>content_disposition
value = 'form-data; name="transformation"'
).
* multipart->suppress_content_type( ).
multipart->set_cdata(
data = 'JSON Ewaybill (Standard)-1.03'
).
multipart = l_http_client->request->add_multipart( ).
g_file1_cont = jsondata. "contém dados no formato json
vari = 'form-data; name="E-waybill-Json"; filename="'.
concatenate vari ex '"' into name.
g_file1_form_data = name .
multipart->set_header_field(
name = if_http_header_fields=>content_disposition
value = g_file1_form_data
).
multipart->set_content_type( 'application/json' ).
multipart = l_http_client->request->add_multipart( ).
lv_len = strlen( jsondata ).
multipart->set_cdata(
data = g_file1_cont
offset = 0
length = lv_len ). "01|XXXXXXXXXXX.... sep: cl_abap_char_utilities=>cr_lf
"PASSO-4 : ENVIAR SOLICITAÇÃO HTTP
call method l_http_client->send
exceptions
http_communication_failure = 1
http_invalid_state = 2.
"PASSO-5 : OBTER RESPOSTA HTTP
call method l_http_client->receive
exceptions
http_communication_failure = 1
http_invalid_state = 2
http_processing_failed = 3.
"PASSO-6 : Ler CÓDIGO DE RESPOSTA HTTP
call method l_http_client->response->get_status
importing
code = l_http_status_code
reason = l_status_text.
data lv_result2 tipo string.
lv_result2 = l_http_client->response->get_cdata( ).
Por favor, ajude-me...
Saudações,
Olá Praveen,
Também estou tentando fazer o mesmo. Pode me indicar por favor os passos envolvidos?
Resolvido.
Quando envio dados para a aplicação, eles são recebidos como charset/utf-8 (não estou configurando isso), o que a aplicação não suporta, então eles adicionaram essa funcionalidade e agora a aplicação pode carregar os dados.
Resolvido.
Quando envio dados para o aplicativo, ele os recebe como charset/utf-8 (não estou configurando), o que o aplicativo não suporta, então eles adicionaram essa funcionalidade e agora o aplicativo pode carregar os dados.
contacto@primeinstitute.com
(+51) 1641 9379
(+57) 1489 6964
© 2024 Copyright. Todos los derechos reservados.
Desarrollado por Prime Institute