Jump to content

LUCAS MARCELINO FERNANDES

Membros
  • Posts

    1
  • Joined

  • Last visited

Everything posted by LUCAS MARCELINO FERNANDES

  1. Boa tarde. Estou tentando integrar um arquivo XML Ct-e com o Web Service da Porto Seguro (feito em PHP) usando RestSharp em C# e sempre retorna mensagem dizendo que não conseguiram abrir o XML ou que arquivo está vazio. Estou usando o mesmo código que o Postman usa e não dá certo, parece que o problema está na forma que envio o arquivo, pois eles retornam erro como se o tamanho do arquivo estivesse zero. Enviando pelo Postman dá certo. Queria ver se alguém já teve esse problema ao fazer a integração de arquivo XML CT-e para averbação por meio no Web Service JSON da Porto Seguro. Abaixo está exemplo de código mínimo com as minhas tentativas e retorno recebido, um arquivo XML exemplo para envio, como também o link do manual da porto seguro. Ja fiz várias tentativas de maneiras diferentes de incluir esse XML na request e sem sucesso. Espero que consigam me ajudar. Obrigado. ---------------------------------- CÓDIGO -------------------------------------- public static void testeIntegracaoRest() { var link = "https://www.averbeporto.com.br/websys/php/conn.php"; var client = new RestClient(link); var request = new RestRequest(Method.POST); var parametros = @"mod=login&comp=5&user=00234567000122&pass=0023"; request.AddHeader("cache-control", "no-cache"); request.AddHeader("content-type", "application/x-www-form-urlencoded"); request.AddParameter("application/x-www-form-urlencoded", parametros, ParameterType.RequestBody); var login = client.Execute(request); if (login.StatusCode == HttpStatusCode.OK) { // continua var cookies = login.Cookies; var restResponseCookie = new RestResponseCookie(); restResponseCookie = cookies[0]; client = new RestClient("https://www.averbeporto.com.br/websys/php/conn.php"); request = new RestRequest(Method.POST); request.AddCookie(restResponseCookie.Name, restResponseCookie.Value); request.AddHeader("content-type", "multipart/form-data;boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW"); byte[] array = File.ReadAllBytes("C:\\XML0702794600019004-05-20188001.xml"); request.AddParameter("multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW", "------WebKitFormBoundary7MA4YWxkTrZu0gW\r\nContent-Disposition: form-data; name=\"comp\"\r\n\r\n5\r\n" + "------WebKitFormBoundary7MA4YWxkTrZu0gW\r\nContent-Disposition: form-data; name=\"mod\"\r\n\r\nUpload\r\n" + "------WebKitFormBoundary7MA4YWxkTrZu0gW\r\nContent-Disposition: form-data; name=\"path\"\r\n\r\neguarda/php/\r\n" + "------WebKitFormBoundary7MA4YWxkTrZu0gW\r\nContent-Disposition: form-data; name=\"file\"; " + "filename=\"" + array + "\r\nContent-Type: " + "application/xml\r\n\r\n\r\n" + "------WebKitFormBoundary7MA4YWxkTrZu0gW\r\nContent-Disposition: form-data; name=\"dump\"\r\n\r\n1\r\n", ParameterType.RequestBody); IRestResponse response = client.Execute(request); } } ---------------------------------- RETORNO WS -------------------------------------- {"success":1,"S":{"P":0,"D":0,"R":0,"N":1},"prot":null,"error":{"msg":"Error opening XML","code":"03"},"dump":{"POST":{"comp":"5","mod":"Upload","path":"\/var\/www\/averbeporto.com.br\/web\/websys\/eguarda\/php\/","dump":"1","v":2,"ext":".php"},"COOKIE":{"portal":{"ses":"e002f119bb4d854b96ebd9c4c85b84f7"}},"FILES":{"file":{"name":"XML0702794600019004-05-20188001.xml","type":"application\/xml","tmp_name":"\/var\/www\/clients\/client0\/web124\/tmp\/phpqspsPj","error":0,"size":0}}}} ---------------------------------- LINK MANUAL -------------------------------------- https://docs.google.com/document/d/1da005UzBF1Wzm8LmiB4JJnaXaLXtFKgl6S_rErMlXF8/edit -------------------------------------------------------------------------------------------------- XML de envio exemplo.txt
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.