Freight couriers error in pac and sedex

2

I would like your help in the following errors, the first one is in pac, it returns the value, so everything is fine, but it also brings:

  

Fatal error: Uncaught exception 'Exception' with message   'Serialization of' SimpleXMLElement 'is not allowed' in [no active   file]

Returns the correct value of the transaction but also returns this fatal error and I do not understand why.

In Sedex it always brings me the error -5, I looked in the API of the mails and as for the service codes, well ... they are the same, I can not understand why I get this error -5. I tried google but I did not find anything about this error.

My form

<form method="POST" action="carrinhoo.php" enctype="">
   <select name="frete" class="form-control">
      <option value="">Selecione...</option>
      <option value="carta">Carta Registrada</option>
      <option value="pac">Pac</option>
      <option value="sedex">Sedex</option>
   </select>
   Digite seu cep:<br>
   <input type="text" class="form-control" name="cep"><br>
   <input type="hidden" class="form-control" name="acao" value="calcular">
   <input type="submit" value="Calcular" class="btn btn-success">
    Valor frete: <?php echo ($_SESSION['valor_frete'] == '6.00') ? number_format($_SESSION['valor_frete'],2,',','.') : $_SESSION['valor_frete'];?>
 </form>

Here is the requisition:

if(isset($_POST['acao']) && $_POST['acao'] == 'calcular'){
        $frete = $_POST['frete'];
        $cep = strip_tags(filter_input(INPUT_POST, 'cep'));
        switch ($frete){
            case 'carta':
                $valor = '6.00';
                $_SESSION['valor_frete'] = '6.00';
            break;
            case 'pac':
                $valor = '41106';
                $prod = new Produto();
                $_SESSION['valor_frete'] = $prod->CalculaFrete($valor, 45350000, $cep, '0.50');
            break;
            case 'sedex':
                $valor = '40010';
                $prod = new Produto();
                $_SESSION['valor_frete'] = $prod->CalculaFrete($valor, 45350000, $cep, '0.50');
                var_dump($_SESSION['valor_frete']);
            break;    
        }
    }

Here my method with the Post Office API

public function CalculaFrete($cod_servico, $cep_origem, $cep_destino, $peso, $altura = '2', $largura = '11', $comprimento = '16', $valor_declarado = '0.50'){
        $correios = "http://ws.correios.com.br/calculador/CalcPrecoPrazo.aspx?"."nCdEmpresa=&sDsSenha=&sCepOrigem=".$cep_origem.
               "&sCepDestino=".$cep_destino."&nVlPeso=".$peso."&nCdFormato=1&nVlComprimento=".$comprimento."&nVlAltura=".$altura.
               "&nVlLargura=".$largura."&sCdMaoPropria=n"."&nVlValorDeclarado=".$valor_declarado."&sCdAvisoRecebimento=n".
               "&nCdServico=".$cod_servico."&nVlDiametro=0&StrRetorno=xml";

        $xml = simplexml_load_string(file_get_contents($correios));
        if($xml->cServico->Erro == '0'){
            return $xml->cServico->Valor;
        }else{
            var_dump($xml);
            return false;
        }
    }
    
asked by anonymous 19.10.2016 / 22:57

2 answers

1

After hours I managed to solve the 2 problems, they were not really that difficult, but it took me about 5 hours to figure out what happened. On the -5 error that gave in Sedex has to be except for values, in the case of the simple Sedex which is what I use it has the following limits of values 10 real and 10,000, that is, it does not send products with the value & lt ; = 10 and neither > 10,000. In the case of Fatal error: Uncaught exception 'Exception' with message 'Serialization of' SimpleXMLElement 'is not allowed' in

20.10.2016 / 12:34
-1

Erro -5 is the declared value greater than R $ 10,000.00.

All webservice errors ...

CodE    Erro

10  CEP de destino est  temporariamente sem entrega domiciliar. A entrega ser  efetuada na agˆncia indicada no Aviso de Chegada que ser  entregue no endere‡o do destinat rio

11  CEP de destino est  sujeito a condi‡äes especiais de entrega pela ECT e ser  realizada com o acr‚scimo de at‚ 7 (sete) dias £teis ao prazo regular.

-40 Para definicao do preco deverao ser informados, tambem, o comprimento e a largura e altura do objeto em centimetros (cm).

-11 Para defini‡Æo do pre‡o deverÆo ser informados, tamb‚m, o comprimento, a largura e altura do objeto em cent¡metros (cm).

-32 A soma resultante do comprimento + o dobro do diƒmetro nÆo deve superar a 200 cm.

-23 A soma resultante do comprimento + largura + altura nÆo deve superar a 200 cm.

-43 A soma resultante do comprimento + largura nao deve superar a 120 cm.

-33 Sistema temporariamente fora do ar. Favor tentar mais tarde.

-38 Servi‡o indispon¡vel para este c¢digo administrativo.

7   Localidade de destino nÆo abrange o servi‡o informado

-36 Cliente nÆo possui contrato vigente com os Correios.

6   Localidade de origem nÆo abrange o servi‡o informado

-37 Cliente nÆo possui servi‡o ativo em seu contrato.

-10 Precifica‡Æo indispon¡vel para o trecho informado

-7  O Valor Declarado ‚ obrigat¢rio para este servi‡o

-5  O Valor Declarado nÆo deve exceder R$ 10.000,00

-42 O comprimento nao pode ser inferior a 16 cm.

-30 O comprimento nÆo pode ser inferior a 18 cm.

-28 O comprimento nÆo pode ser maior que 105 cm.

-22 O comprimento nÆo pode ser inferior a 16 cm.

-15 O comprimento nÆo pode ser maior que 105 cm.

-9  Este servi‡o nÆo aceita Aviso de Recebimento

-6  Servi‡o indispon¡vel para o trecho informado

8   Servi‡o indispon¡vel para o trecho informado

-41 O comprimento nao pode ser maior que 60 cm.

-34 C¢digo Administrativo ou Senha inv lidos.

-44 A largura nao pode ser inferior a 11 cm.

-31 O diƒmetro nÆo pode ser inferior a 5 cm.

-29 O diƒmetro nÆo pode ser maior que 91 cm.

-20 A largura nÆo pode ser inferior a 11 cm.

-16 A largura nÆo pode ser maior que 105 cm.

9   CEP inicial pertencente a µrea de Risco.

-45 A largura nao pode ser maior que 60 cm.

-17 A altura nÆo pode ser maior que 105 cm.

-18 A altura nÆo pode ser inferior a 2 cm.

7   Servi‡o indispon¡vel, tente mais tarde

-39 Peso excedido para o formato envelope

-8  Este servi‡o nÆo aceita MÆo Pr¢pria

99  Outros erros diversos do .Net

-1  C¢digo de servi‡o inv lido

0   Processamento com sucesso

-888    Erro ao calcular a tarifa

-3  CEP de destino inv lido

-26 Informe o comprimento.

-2  CEP de origem inv lido

-24 Comprimento inv lido.

-12 Comprimento inv lido.

-27 Informe o diƒmetro.

-25 Diƒmetro inv lido

-13 Largura inv lida.

-35 Senha incorreta.

-14 Altura inv lida.

-4  Peso excedido
    
04.07.2018 / 21:27