Commit 5fad83cfe179c3add5f943a62fda8d917e2bfa6d

Authored by Guilherme Andrade Del Cantoni
1 parent 291d4332

[Fixed #14] Melhoria em tratamentos de erros provenientes de webservices

Showing 1 changed file with 115 additions and 168 deletions   Show diff stats
rn/ProcessoEletronicoRN.php
... ... @@ -38,8 +38,6 @@ class ProcessoEletronicoRN extends InfraRN {
38 38 // 02 a 18 estão registrados na tabela rel_tarefa_operacao
39 39 public static $OP_OPERACAO_REGISTRO = "01";
40 40  
41   -
42   -
43 41 const ALGORITMO_HASH_DOCUMENTO = 'SHA256';
44 42  
45 43 /**
... ... @@ -73,7 +71,6 @@ class ProcessoEletronicoRN extends InfraRN {
73 71 "99" => "Outro"
74 72 );
75 73  
76   -
77 74 private $strWSDL = null;
78 75 private $objPenWs = null;
79 76 private $options = null;
... ... @@ -140,8 +137,7 @@ class ProcessoEletronicoRN extends InfraRN {
140 137 @exec($strCommand, $arrOutput, $numRetorno);
141 138  
142 139 if($numRetorno > 0){
143   -
144   - throw new InfraException('Falha de comunicação com o Barramento de Serviços. Por favor, tente novamente mais tarde.', $e);
  140 + throw new InfraException('Falha de comunicação com o Processo Eletrônico Nacional. Por favor, tente novamente mais tarde.');
145 141 }
146 142 }
147 143  
... ... @@ -170,8 +166,9 @@ class ProcessoEletronicoRN extends InfraRN {
170 166 $this->objPenWs = new BeSimple\SoapClient\SoapClient($this->strWSDL, $this->options);
171 167 }
172 168 } catch (Exception $e) {
173   - $mensagem = InfraException::inspecionar($e);
174   - throw new InfraException('Erro acessando serviço: ' . $mensagem, $e);
  169 + $mensagem = "Falha de comunicação com o Processo Eletrônico Nacional";
  170 + $detalhes = InfraString::formatarJavaScript($this->tratarFalhaWebService($e));
  171 + throw new InfraException($mensagem, $e, $detalhes);
175 172 }
176 173 }
177 174  
... ... @@ -206,7 +203,10 @@ class ProcessoEletronicoRN extends InfraRN {
206 203 }
207 204 }
208 205 } catch(Exception $e){
209   - throw new InfraException("Erro durante obtenção dos repositórios", $e);
  206 + //throw new InfraException("Erro durante obtenção dos repositórios", $e);
  207 + $mensagem = "Falha na obtenção dos Repositórios de Estruturas Organizacionais";
  208 + $detalhes = InfraString::formatarJavaScript($this->tratarFalhaWebService($e));
  209 + throw new InfraException($mensagem, $e, $detalhes);
210 210 }
211 211  
212 212 return $objRepositorioDTO;
... ... @@ -238,7 +238,10 @@ class ProcessoEletronicoRN extends InfraRN {
238 238 }
239 239 }
240 240 } catch(Exception $e){
241   - throw new InfraException("Erro durante obtenção dos repositórios", $e);
  241 + //throw new InfraException("Erro durante obtenção dos repositórios", $e);
  242 + $mensagem = "Falha na obtenção dos Repositórios de Estruturas Organizacionais";
  243 + $detalhes = InfraString::formatarJavaScript($this->tratarFalhaWebService($e));
  244 + throw new InfraException($mensagem, $e, $detalhes);
242 245 }
243 246  
244 247 return $arrObjRepositorioDTO;
... ... @@ -247,6 +250,7 @@ class ProcessoEletronicoRN extends InfraRN {
247 250 public function consultarEstrutura($idRepositorioEstrutura, $numeroDeIdentificacaoDaEstrutura, $bolRetornoRaw = false) {
248 251  
249 252 try {
  253 +
250 254 $parametros = new stdClass();
251 255 $parametros->filtroDeEstruturas = new stdClass();
252 256 $parametros->filtroDeEstruturas->identificacaoDoRepositorioDeEstruturas = $idRepositorioEstrutura;
... ... @@ -276,7 +280,6 @@ class ProcessoEletronicoRN extends InfraRN {
276 280 return $objEstrutura;
277 281 }
278 282 else {
279   -
280 283 $objEstruturaDTO = new EstruturaDTO();
281 284 $objEstruturaDTO->setNumNumeroDeIdentificacaoDaEstrutura($objEstrutura->numeroDeIdentificacaoDaEstrutura);
282 285 $objEstruturaDTO->setStrNome($objEstrutura->nome);
... ... @@ -289,48 +292,51 @@ class ProcessoEletronicoRN extends InfraRN {
289 292 }
290 293 }
291 294 catch (Exception $e) {
292   - throw new InfraException("Erro durante obtenção das unidades", $e);
  295 + //throw new InfraException("Erro durante obtenção das unidades", $e);
  296 + $mensagem = "Falha na obtenção de unidades externas";
  297 + $detalhes = InfraString::formatarJavaScript($this->tratarFalhaWebService($e));
  298 + throw new InfraException($mensagem, $e, $detalhes);
293 299 }
294 300 }
295 301  
296 302 public function listarEstruturas($idRepositorioEstrutura, $nome='')
297   - {
298   - $arrObjEstruturaDTO = array();
  303 + {
  304 + $arrObjEstruturaDTO = array();
299 305  
300   - try{
301   - $idRepositorioEstrutura = filter_var($idRepositorioEstrutura, FILTER_SANITIZE_NUMBER_INT);
302   - if(!$idRepositorioEstrutura) {
303   - throw new InfraException("Repositório de Estruturas inválido");
304   - }
  306 + try{
  307 + $idRepositorioEstrutura = filter_var($idRepositorioEstrutura, FILTER_SANITIZE_NUMBER_INT);
  308 + if(!$idRepositorioEstrutura) {
  309 + throw new InfraException("Repositório de Estruturas inválido");
  310 + }
305 311  
306   - $parametros = new stdClass();
307   - $parametros->filtroDeEstruturas = new stdClass();
308   - $parametros->filtroDeEstruturas->identificacaoDoRepositorioDeEstruturas = $idRepositorioEstrutura;
309   - $parametros->filtroDeEstruturas->apenasAtivas = true;
310   -
311   - $nome = trim($nome);
312   - if(is_numeric($nome)) {
313   - $parametros->filtroDeEstruturas->numeroDeIdentificacaoDaEstrutura = intval($nome);
314   - } else {
315   - $parametros->filtroDeEstruturas->nome = utf8_encode($nome);
316   - }
  312 + $parametros = new stdClass();
  313 + $parametros->filtroDeEstruturas = new stdClass();
  314 + $parametros->filtroDeEstruturas->identificacaoDoRepositorioDeEstruturas = $idRepositorioEstrutura;
  315 + $parametros->filtroDeEstruturas->apenasAtivas = true;
  316 +
  317 + $nome = trim($nome);
  318 + if(is_numeric($nome)) {
  319 + $parametros->filtroDeEstruturas->numeroDeIdentificacaoDaEstrutura = intval($nome);
  320 + } else {
  321 + $parametros->filtroDeEstruturas->nome = utf8_encode($nome);
  322 + }
317 323  
318   - $result = $this->getObjPenWs()->consultarEstruturas($parametros);
  324 + $result = $this->getObjPenWs()->consultarEstruturas($parametros);
319 325  
320   - if($result->estruturasEncontradas->totalDeRegistros > 0) {
  326 + if($result->estruturasEncontradas->totalDeRegistros > 0) {
321 327  
322   - if(!is_array($result->estruturasEncontradas->estrutura)) {
323   - $result->estruturasEncontradas->estrutura = array($result->estruturasEncontradas->estrutura);
324   - }
  328 + if(!is_array($result->estruturasEncontradas->estrutura)) {
  329 + $result->estruturasEncontradas->estrutura = array($result->estruturasEncontradas->estrutura);
  330 + }
325 331  
326   - foreach ($result->estruturasEncontradas->estrutura as $estrutura) {
327   - $item = new EstruturaDTO();
328   - $item->setNumNumeroDeIdentificacaoDaEstrutura($estrutura->numeroDeIdentificacaoDaEstrutura);
329   - $item->setStrNome(utf8_decode($estrutura->nome));
330   - $item->setStrSigla(utf8_decode($estrutura->sigla));
331   - $item->setBolAtivo($estrutura->ativo);
332   - $item->setBolAptoParaReceberTramites($estrutura->aptoParaReceberTramites);
333   - $item->setStrCodigoNoOrgaoEntidade($estrutura->codigoNoOrgaoEntidade);
  332 + foreach ($result->estruturasEncontradas->estrutura as $estrutura) {
  333 + $item = new EstruturaDTO();
  334 + $item->setNumNumeroDeIdentificacaoDaEstrutura($estrutura->numeroDeIdentificacaoDaEstrutura);
  335 + $item->setStrNome(utf8_decode($estrutura->nome));
  336 + $item->setStrSigla(utf8_decode($estrutura->sigla));
  337 + $item->setBolAtivo($estrutura->ativo);
  338 + $item->setBolAptoParaReceberTramites($estrutura->aptoParaReceberTramites);
  339 + $item->setStrCodigoNoOrgaoEntidade($estrutura->codigoNoOrgaoEntidade);
334 340  
335 341 if(!empty($estrutura->hierarquia->nivel)) {
336 342 $array = array();
... ... @@ -345,7 +351,10 @@ class ProcessoEletronicoRN extends InfraRN {
345 351 }
346 352  
347 353 } catch (Exception $e) {
348   - throw new InfraException("Erro durante obtenção das unidades", $e);
  354 + //throw new InfraException("Erro durante obtenção das unidades", $e);
  355 + $mensagem = "Falha na obtenção de unidades externas";
  356 + $detalhes = InfraString::formatarJavaScript($this->tratarFalhaWebService($e));
  357 + throw new InfraException($mensagem, $e, $detalhes);
349 358 }
350 359  
351 360 return $arrObjEstruturaDTO;
... ... @@ -391,21 +400,14 @@ class ProcessoEletronicoRN extends InfraRN {
391 400 {
392 401 try {
393 402 return $this->getObjPenWs()->enviarProcesso($parametros);
394   - } catch (\SoapFault $fault) {
395   -
396   -
397   - if (!empty($fault->detail->interoperabilidadeException->codigoErro) && $fault->detail->interoperabilidadeException->codigoErro == '0005') {
398   - $mensagem = 'O código mapeado para a unidade ' . utf8_decode($parametros->novoTramiteDeProcesso->processo->documento[0]->produtor->unidade->nome) . ' está incorreto.';
399   - } else {
400   - $mensagem = $this->tratarFalhaWebService($fault);
  403 + } catch (\Exception $e) {
  404 + $mensagem = "Falha no envio externo do processo";
  405 + $detalhes = InfraString::formatarJavaScript($this->tratarFalhaWebService($e));
  406 + if ($e instanceof \SoapFault && !empty($e->detail->interoperabilidadeException->codigoErro) && $e->detail->interoperabilidadeException->codigoErro == '0005') {
  407 + $detalhes = 'O código mapeado para a unidade ' . utf8_decode($parametros->novoTramiteDeProcesso->processo->documento[0]->produtor->unidade->nome) . ' está incorreto.';
401 408 }
402   - //TODO: Remover formatação do javascript após resolução do BUG enviado para Mairon
403   - //relacionado ao a renderização de mensagens de erro na barra de progresso
404   - error_log($mensagem);
405   - throw new InfraException(InfraString::formatarJavaScript($mensagem), $fault);
406 409  
407   - } catch (\Exception $e) {
408   - throw new InfraException("Error Processing Request", $e);
  410 + throw new InfraException($mensagem, $e, $detalhes);
409 411 }
410 412 }
411 413  
... ... @@ -433,27 +435,20 @@ class ProcessoEletronicoRN extends InfraRN {
433 435 $arrObjPendenciaDTO[] = $item;
434 436 }
435 437 }
436   - } catch (\SoapFault $fault) {
437   - //$mensagem = $this->tratarFalhaWebService($fault);
438   - $mensagem = InfraException::inspecionar($fault);
439   - throw new InfraException(InfraString::formatarJavaScript($mensagem), $fault);
  438 + } catch (\Exception $e) {
  439 + $mensagem = "Falha na listagem de pendências de trâmite de processos";
  440 + $detalhes = InfraString::formatarJavaScript($this->tratarFalhaWebService($e));
  441 + throw new InfraException($mensagem, $e, $detalhes);
440 442 }
441   - // catch (\Exception $e) {
442   - // $mensagem = InfraException::inspecionar($e);
443   - // throw new InfraException("Error Processing Request", $e);
444   - // }
445 443  
446 444 return $arrObjPendenciaDTO;
447 445 }
448 446  
449 447 //TODO: Tratar cada um dos possíveis erros gerados pelos serviços de integração do PEN
450   - private function tratarFalhaWebService(SoapFault $fault)
  448 + private function tratarFalhaWebService(Exception $fault)
451 449 {
452   - error_log('$e->faultcode:' . $fault->faultcode);
453   - error_log('$e->detail:' . print_r($fault->detail, true));
454   -
455   - $mensagem = $fault->getMessage();
456   - if(isset($fault->detail->interoperabilidadeException)){
  450 + $mensagem = InfraException::inspecionar($fault);
  451 + if($fault instanceof SoapFault && isset($fault->detail->interoperabilidadeException)){
457 452 $strWsException = $fault->detail->interoperabilidadeException;
458 453  
459 454 switch ($strWsException->codigoErro) {
... ... @@ -498,34 +493,24 @@ class ProcessoEletronicoRN extends InfraRN {
498 493 {
499 494 try {
500 495 return $this->getObjPenWs()->enviarComponenteDigital($parametros);
501   - } catch (\SoapFault $fault) {
502   - $mensagem = $this->tratarFalhaWebService($fault);
503   -
504   - //TODO: Remover formatação do javascript após resolução do BUG enviado para Mairon
505   - //relacionado ao a renderização de mensagens de erro na barra de progresso
506   - throw new InfraException(InfraString::formatarJavaScript($mensagem), $fault);
507 496 } catch (\Exception $e) {
508   - throw new InfraException("Error Processing Request", $e);
  497 + $mensagem = "Falha no envio de componentes digitais";
  498 + $detalhes = InfraString::formatarJavaScript($this->tratarFalhaWebService($e));
  499 + throw new InfraException($mensagem, $e, $detalhes);
509 500 }
510 501 }
511 502  
512 503  
513   - public function solicitarMetadados($parNumIdentificacaoTramite) {
514   -
515   - try
516   - {
  504 + public function solicitarMetadados($parNumIdentificacaoTramite)
  505 + {
  506 + try {
517 507 $parametros = new stdClass();
518 508 $parametros->IDT = $parNumIdentificacaoTramite;
519 509 return $this->getObjPenWs()->solicitarMetadados($parametros);
520   - } catch (\SoapFault $fault) {
521   - $mensagem = $this->tratarFalhaWebService($fault);
522   - //TODO: Remover formatação do javascript após resolução do BUG enviado para Mairon
523   - //relacionado ao a renderização de mensagens de erro na barra de progresso
524   - error_log($mensagem);
525   - throw new InfraException(InfraString::formatarJavaScript($mensagem), $fault);
526   -
527 510 } catch (\Exception $e) {
528   - throw new InfraException("Error Processing Request", $e);
  511 + $mensagem = "Falha na solicitação de metadados do processo";
  512 + $detalhes = InfraString::formatarJavaScript($this->tratarFalhaWebService($e));
  513 + throw new InfraException($mensagem, $e, $detalhes);
529 514 }
530 515 }
531 516  
... ... @@ -871,9 +856,6 @@ class ProcessoEletronicoRN extends InfraRN {
871 856  
872 857 } catch (\SoapFault $fault) {
873 858 $mensagem = $this->tratarFalhaWebService($fault);
874   - //TODO: Remover formatação do javascript após resolução do BUG enviado para Mairon
875   - //rlacionado ao a renderização de mensagens de erro na barra de progresso
876   - error_log($mensagem);
877 859 throw new InfraException(InfraString::formatarJavaScript($mensagem), $fault);
878 860 } catch (\Exception $e) {
879 861 throw new InfraException("Error Processing Request", $e);
... ... @@ -921,12 +903,10 @@ class ProcessoEletronicoRN extends InfraRN {
921 903  
922 904 return $arrObjTramite;
923 905  
924   - } catch (\SoapFault $fault) {
925   - $mensagem = $this->tratarFalhaWebService($fault);
926   - throw new InfraException(InfraString::formatarJavaScript($mensagem), $fault);
927   -
928 906 } catch (\Exception $e) {
929   - throw new InfraException("Error Processing Request", $e);
  907 + $mensagem = "Falha na consulta de trâmites de processo";
  908 + $detalhes = InfraString::formatarJavaScript($this->tratarFalhaWebService($e));
  909 + throw new InfraException($mensagem, $e, $detalhes);
930 910 }
931 911 }
932 912  
... ... @@ -951,12 +931,10 @@ class ProcessoEletronicoRN extends InfraRN {
951 931  
952 932 return $arrObjTramite;
953 933  
954   - } catch (\SoapFault $fault) {
955   - $mensagem = $this->tratarFalhaWebService($fault);
956   - throw new InfraException(InfraString::formatarJavaScript($mensagem), $fault);
957   -
958 934 } catch (\Exception $e) {
959   - throw new InfraException("Error Processing Request", $e);
  935 + $mensagem = "Falha na consulta de trâmites de processo";
  936 + $detalhes = InfraString::formatarJavaScript($this->tratarFalhaWebService($e));
  937 + throw new InfraException($mensagem, $e, $detalhes);
960 938 }
961 939 }
962 940  
... ... @@ -966,15 +944,11 @@ class ProcessoEletronicoRN extends InfraRN {
966 944 {
967 945 $parametro = new stdClass();
968 946 $parametro->IDT = $parNumIdTramite;
969   -
970 947 return $this->getObjPenWs()->cienciaRecusa($parametro);
971   -
972   - } catch (\SoapFault $fault) {
973   - $mensagem = $this->tratarFalhaWebService($fault);
974   - throw new InfraException(InfraString::formatarJavaScript($mensagem), $fault);
975   -
976 948 } catch (\Exception $e) {
977   - throw new InfraException("Error Processing Request", $e);
  949 + $mensagem = "Falha no registro de ciência da recusa de trâmite";
  950 + $detalhes = InfraString::formatarJavaScript($this->tratarFalhaWebService($e));
  951 + throw new InfraException($mensagem, $e, $detalhes);
978 952 }
979 953 }
980 954  
... ... @@ -1129,53 +1103,30 @@ class ProcessoEletronicoRN extends InfraRN {
1129 1103 $parametro->dadosDoReciboDeTramite->hashDaAssinatura = $strHashDaAssinaturaBase64;
1130 1104  
1131 1105 $this->getObjPenWs()->enviarReciboDeTramite($parametro);
1132   -
1133 1106 return $strHashDaAssinaturaBase64;
1134 1107  
1135   - } catch (\SoapFault $fault) {
1136   -
1137   - $strMensagem = '[ SOAP Request ]'.PHP_EOL;
1138   - $strMensagem .= 'Method: enviarReciboDeTramite (FAIL)'.PHP_EOL;
1139   - $strMensagem .= 'Request: '.$this->getObjPenWs()->__getLastRequest().PHP_EOL;
1140   - $strMensagem .= 'Response: '.$this->getObjPenWs()->__getLastResponse().PHP_EOL;
1141   -
1142   - file_put_contents('/tmp/pen.log', $strMensagem.PHP_EOL, FILE_APPEND);
1143   -
1144   - if(isset($objPrivatekey)){
1145   - openssl_free_key($objPrivatekey);
1146   - }
1147   -
1148   - $mensagem = $this->tratarFalhaWebService($fault);
1149   -
1150   - //TODO: Remover formatação do javascript após resolução do BUG enviado para Mairon
1151   - //relacionado ao a renderização de mensagens de erro na barra de progresso
1152   - error_log($mensagem);
1153   - throw new InfraException(InfraString::formatarJavaScript($mensagem), $fault);
1154 1108 } catch (\Exception $e) {
  1109 + $mensagem = "Falha no envio de recibo de trâmite de processo";
  1110 + $detalhes = InfraString::formatarJavaScript($this->tratarFalhaWebService($e));
  1111 + throw new InfraException($mensagem, $e, $detalhes);
  1112 + } finally {
1155 1113 if(isset($objPrivatekey)){
1156 1114 openssl_free_key($objPrivatekey);
1157 1115 }
1158   -
1159   - throw new InfraException("Error Processing Request", $e);
1160 1116 }
1161 1117 }
1162 1118  
1163 1119 public function receberReciboDeTramite($parNumIdTramite)
1164 1120 {
1165   - try
1166   - {
1167   - $parametro = new stdClass();
1168   - $parametro->IDT = $parNumIdTramite;
1169   -
1170   - $resultado = $this->getObjPenWs()->receberReciboDeTramite($parametro);
1171   -
1172   - return $resultado;
1173   - }
1174   - catch (\SoapFault $fault) {
1175   - $mensagem = $this->tratarFalhaWebService($fault);
1176   - throw new InfraException(InfraString::formatarJavaScript($mensagem), $fault);
  1121 + try {
  1122 + $parametro = new stdClass();
  1123 + $parametro->IDT = $parNumIdTramite;
  1124 + $resultado = $this->getObjPenWs()->receberReciboDeTramite($parametro);
  1125 + return $resultado;
1177 1126 } catch (\Exception $e) {
1178   - throw new InfraException("Error Processing Request", $e);
  1127 + $mensagem = "Falha no recebimento de recibo de trâmite";
  1128 + $detalhes = InfraString::formatarJavaScript($this->tratarFalhaWebService($e));
  1129 + throw new InfraException($mensagem, $e, $detalhes);
1179 1130 }
1180 1131 }
1181 1132  
... ... @@ -1190,19 +1141,14 @@ class ProcessoEletronicoRN extends InfraRN {
1190 1141 try {
1191 1142 $parametro = new stdClass();
1192 1143 $parametro->IDT = $parNumIdTramite;
1193   -
1194 1144 $resultado = $this->getObjPenWs()->receberReciboDeEnvio($parametro);
1195   -
1196 1145 return $resultado->conteudoDoReciboDeEnvio;
1197 1146 }
1198   - catch (\SoapFault $fault) {
1199   - $mensagem = $this->tratarFalhaWebService($fault);
1200   - throw new InfraException(InfraString::formatarJavaScript($mensagem), $fault);
1201   - }
1202 1147 catch (\Exception $e) {
1203   - throw new InfraException("Error Processing Request", $e);
  1148 + $mensagem = "Falha no recebimento de recibo de trâmite";
  1149 + $detalhes = InfraString::formatarJavaScript($this->tratarFalhaWebService($e));
  1150 + throw new InfraException($mensagem, $e, $detalhes);
1204 1151 }
1205   - throw new InfraException("Error Processing Request", $e);
1206 1152 }
1207 1153  
1208 1154 //TODO: Implementar mapeamento entre operações do PEN e tarefas do SEI
... ... @@ -1302,8 +1248,10 @@ class ProcessoEletronicoRN extends InfraRN {
1302 1248 try{
1303 1249 $this->getObjPenWs()->cancelarEnvioDeTramite($parametros);
1304 1250 }
1305   - catch(\SoapFault $e) {
1306   - throw new InfraException($e->getMessage(), null, $e);
  1251 + catch(\Exception $e) {
  1252 + $mensagem = "Falha no cancelamento de trâmite de processo";
  1253 + $detalhes = InfraString::formatarJavaScript($this->tratarFalhaWebService($e));
  1254 + throw new InfraException($mensagem, $e, $detalhes);
1307 1255 }
1308 1256 }
1309 1257  
... ... @@ -1325,16 +1273,12 @@ class ProcessoEletronicoRN extends InfraRN {
1325 1273 $parametros->recusaDeTramite->IDT = $idTramite;
1326 1274 $parametros->recusaDeTramite->justificativa = utf8_encode($justificativa);
1327 1275 $parametros->recusaDeTramite->motivo = $motivo;
1328   -
1329 1276 $resultado = $this->getObjPenWs()->recusarTramite($parametros);
1330 1277  
1331   - } catch (SoapFault $fault) {
1332   -
1333   - $mensagem = $this->tratarFalhaWebService($fault);
1334   - throw new InfraException(InfraString::formatarJavaScript($mensagem), $fault);
1335   -
1336 1278 } catch (Exception $e) {
1337   - return $e->getMessage();
  1279 + $mensagem = "Falha na recusa de trâmite de processo";
  1280 + $detalhes = InfraString::formatarJavaScript($this->tratarFalhaWebService($e));
  1281 + throw new InfraException($mensagem, $e, $detalhes);
1338 1282 }
1339 1283 }
1340 1284  
... ... @@ -1344,14 +1288,13 @@ class ProcessoEletronicoRN extends InfraRN {
1344 1288 $tramitePendenteDTO = new TramitePendenteDTO();
1345 1289 $tramitePendenteDTO->setNumIdTramite($numIdentificacaoTramite);
1346 1290 $tramitePendenteDTO->setNumIdAtividade($idAtividadeExpedicao);
1347   -
1348 1291 $tramitePendenteBD = new TramitePendenteBD($this->getObjInfraIBanco());
1349 1292 $tramitePendenteBD->cadastrar($tramitePendenteDTO);
1350 1293  
1351   - } catch (\InfraException $ex) {
1352   - throw new InfraException($ex->getStrDescricao());
1353   - } catch (\Exception $ex) {
1354   - throw new InfraException($ex->getMessage());
  1294 + } catch (\Exception $e) {
  1295 + $mensagem = "Falha no cadastramento de trâmite pendente";
  1296 + $detalhes = InfraString::formatarJavaScript($this->tratarFalhaWebService($e));
  1297 + throw new InfraException($mensagem, $e, $detalhes);
1355 1298 }
1356 1299 }
1357 1300  
... ... @@ -1445,7 +1388,9 @@ class ProcessoEletronicoRN extends InfraRN {
1445 1388 return $hipoteses;
1446 1389  
1447 1390 } catch(Exception $e){
1448   - throw new InfraException("Erro durante obtenção da resposta das hipóteses legais", $e);
  1391 + $mensagem = "Falha na obtenção de hipóteses legais";
  1392 + $detalhes = InfraString::formatarJavaScript($this->tratarFalhaWebService($e));
  1393 + throw new InfraException($mensagem, $e, $detalhes);
1449 1394 }
1450 1395 }
1451 1396  
... ... @@ -1454,7 +1399,9 @@ class ProcessoEletronicoRN extends InfraRN {
1454 1399 $objProcessoEletronicoBD = new ProcessoEletronicoBD($this->getObjInfraIBanco());
1455 1400 return $objProcessoEletronicoBD->contar($objProcessoEletronicoDTO);
1456 1401 }catch(Exception $e){
1457   - throw new InfraException('Erro contando Processos Externos.',$e);
  1402 + $mensagem = "Falha na contagem de processos eletrônicos registrados";
  1403 + $detalhes = InfraString::formatarJavaScript($this->tratarFalhaWebService($e));
  1404 + throw new InfraException($mensagem, $e, $detalhes);
1458 1405 }
1459 1406 }
1460 1407 }
... ...