Ir para conteúdo
  • Cadastre-se

  • Este tópico foi criado há 2120 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Postado (editado)

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

Editado por LUCAS MARCELINO FERNANDES
  • 11 meses depois ...
  • 3 meses depois ...
Postado (editado)

Bom dia pessoal, aproveitando que o tópico está aberto, para tirar uma dúvida. Entendo que servidor da Porto Seguro usa um método diferente dos demais. Eu pensei em adequar o ACBRANe para atender a porto seguro também.

Só que olhando os fontes, vi que terei que mexer em muita coisa. dai queria uma opinião.

O que acham melhor, criação de um novo componente, ou fazer a adequação ao ACBRANe mesmo?

 

Se algum moderador puder responder por favor.

Editado por Willian Hübner
Adc clausula moderador
  • Consultores
Postado
1 hora atrás, Willian Hübner disse:

Bom dia pessoal, aproveitando que o tópico está aberto, para tirar uma dúvida. Entendo que servidor da Porto Seguro usa um método diferente dos demais. Eu pensei em adequar o ACBRANe para atender a porto seguro também.

Só que olhando os fontes, vi que terei que mexer em muita coisa. dai queria uma opinião.

O que acham melhor, criação de um novo componente, ou fazer a adequação ao ACBRANe mesmo?

 

Se algum moderador puder responder por favor.

dá uma procurada que acho que um colega postou uma unit que usou em algum lugar e eu mexi nela pra funcionar o envio

 mas o correto é manter em um único componente tudo se quer contribuir terá que modificar o mesmo a nível de entendimento entre todos os webservices para um único código

  • Curtir 1

 

Consultora ACBr Pro

Juliomar Marchetti

Ajude o Projeto ACBr crescer - Seja Pro

discord: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br

 

MVP_NewLogo_100x100_Transparent-02.png
Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

  • Este tópico foi criado há 2120 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.
Visitante
Este tópico está agora fechado para novas respostas
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.

The popup will be closed in 10 segundos...
The popup will be closed in 10 segundos...