Commit 5fad83cfe179c3add5f943a62fda8d917e2bfa6d
1 parent
291d4332
Exists in
master
and in
21 other branches
[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,8 +38,6 @@ class ProcessoEletronicoRN extends InfraRN { | ||
38 | // 02 a 18 estão registrados na tabela rel_tarefa_operacao | 38 | // 02 a 18 estão registrados na tabela rel_tarefa_operacao |
39 | public static $OP_OPERACAO_REGISTRO = "01"; | 39 | public static $OP_OPERACAO_REGISTRO = "01"; |
40 | 40 | ||
41 | - | ||
42 | - | ||
43 | const ALGORITMO_HASH_DOCUMENTO = 'SHA256'; | 41 | const ALGORITMO_HASH_DOCUMENTO = 'SHA256'; |
44 | 42 | ||
45 | /** | 43 | /** |
@@ -73,7 +71,6 @@ class ProcessoEletronicoRN extends InfraRN { | @@ -73,7 +71,6 @@ class ProcessoEletronicoRN extends InfraRN { | ||
73 | "99" => "Outro" | 71 | "99" => "Outro" |
74 | ); | 72 | ); |
75 | 73 | ||
76 | - | ||
77 | private $strWSDL = null; | 74 | private $strWSDL = null; |
78 | private $objPenWs = null; | 75 | private $objPenWs = null; |
79 | private $options = null; | 76 | private $options = null; |
@@ -140,8 +137,7 @@ class ProcessoEletronicoRN extends InfraRN { | @@ -140,8 +137,7 @@ class ProcessoEletronicoRN extends InfraRN { | ||
140 | @exec($strCommand, $arrOutput, $numRetorno); | 137 | @exec($strCommand, $arrOutput, $numRetorno); |
141 | 138 | ||
142 | if($numRetorno > 0){ | 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,8 +166,9 @@ class ProcessoEletronicoRN extends InfraRN { | ||
170 | $this->objPenWs = new BeSimple\SoapClient\SoapClient($this->strWSDL, $this->options); | 166 | $this->objPenWs = new BeSimple\SoapClient\SoapClient($this->strWSDL, $this->options); |
171 | } | 167 | } |
172 | } catch (Exception $e) { | 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,7 +203,10 @@ class ProcessoEletronicoRN extends InfraRN { | ||
206 | } | 203 | } |
207 | } | 204 | } |
208 | } catch(Exception $e){ | 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 | return $objRepositorioDTO; | 212 | return $objRepositorioDTO; |
@@ -238,7 +238,10 @@ class ProcessoEletronicoRN extends InfraRN { | @@ -238,7 +238,10 @@ class ProcessoEletronicoRN extends InfraRN { | ||
238 | } | 238 | } |
239 | } | 239 | } |
240 | } catch(Exception $e){ | 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 | return $arrObjRepositorioDTO; | 247 | return $arrObjRepositorioDTO; |
@@ -247,6 +250,7 @@ class ProcessoEletronicoRN extends InfraRN { | @@ -247,6 +250,7 @@ class ProcessoEletronicoRN extends InfraRN { | ||
247 | public function consultarEstrutura($idRepositorioEstrutura, $numeroDeIdentificacaoDaEstrutura, $bolRetornoRaw = false) { | 250 | public function consultarEstrutura($idRepositorioEstrutura, $numeroDeIdentificacaoDaEstrutura, $bolRetornoRaw = false) { |
248 | 251 | ||
249 | try { | 252 | try { |
253 | + | ||
250 | $parametros = new stdClass(); | 254 | $parametros = new stdClass(); |
251 | $parametros->filtroDeEstruturas = new stdClass(); | 255 | $parametros->filtroDeEstruturas = new stdClass(); |
252 | $parametros->filtroDeEstruturas->identificacaoDoRepositorioDeEstruturas = $idRepositorioEstrutura; | 256 | $parametros->filtroDeEstruturas->identificacaoDoRepositorioDeEstruturas = $idRepositorioEstrutura; |
@@ -276,7 +280,6 @@ class ProcessoEletronicoRN extends InfraRN { | @@ -276,7 +280,6 @@ class ProcessoEletronicoRN extends InfraRN { | ||
276 | return $objEstrutura; | 280 | return $objEstrutura; |
277 | } | 281 | } |
278 | else { | 282 | else { |
279 | - | ||
280 | $objEstruturaDTO = new EstruturaDTO(); | 283 | $objEstruturaDTO = new EstruturaDTO(); |
281 | $objEstruturaDTO->setNumNumeroDeIdentificacaoDaEstrutura($objEstrutura->numeroDeIdentificacaoDaEstrutura); | 284 | $objEstruturaDTO->setNumNumeroDeIdentificacaoDaEstrutura($objEstrutura->numeroDeIdentificacaoDaEstrutura); |
282 | $objEstruturaDTO->setStrNome($objEstrutura->nome); | 285 | $objEstruturaDTO->setStrNome($objEstrutura->nome); |
@@ -289,48 +292,51 @@ class ProcessoEletronicoRN extends InfraRN { | @@ -289,48 +292,51 @@ class ProcessoEletronicoRN extends InfraRN { | ||
289 | } | 292 | } |
290 | } | 293 | } |
291 | catch (Exception $e) { | 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 | public function listarEstruturas($idRepositorioEstrutura, $nome='') | 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 | if(!empty($estrutura->hierarquia->nivel)) { | 341 | if(!empty($estrutura->hierarquia->nivel)) { |
336 | $array = array(); | 342 | $array = array(); |
@@ -345,7 +351,10 @@ class ProcessoEletronicoRN extends InfraRN { | @@ -345,7 +351,10 @@ class ProcessoEletronicoRN extends InfraRN { | ||
345 | } | 351 | } |
346 | 352 | ||
347 | } catch (Exception $e) { | 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 | return $arrObjEstruturaDTO; | 360 | return $arrObjEstruturaDTO; |
@@ -391,21 +400,14 @@ class ProcessoEletronicoRN extends InfraRN { | @@ -391,21 +400,14 @@ class ProcessoEletronicoRN extends InfraRN { | ||
391 | { | 400 | { |
392 | try { | 401 | try { |
393 | return $this->getObjPenWs()->enviarProcesso($parametros); | 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,27 +435,20 @@ class ProcessoEletronicoRN extends InfraRN { | ||
433 | $arrObjPendenciaDTO[] = $item; | 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 | return $arrObjPendenciaDTO; | 444 | return $arrObjPendenciaDTO; |
447 | } | 445 | } |
448 | 446 | ||
449 | //TODO: Tratar cada um dos possíveis erros gerados pelos serviços de integração do PEN | 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 | $strWsException = $fault->detail->interoperabilidadeException; | 452 | $strWsException = $fault->detail->interoperabilidadeException; |
458 | 453 | ||
459 | switch ($strWsException->codigoErro) { | 454 | switch ($strWsException->codigoErro) { |
@@ -498,34 +493,24 @@ class ProcessoEletronicoRN extends InfraRN { | @@ -498,34 +493,24 @@ class ProcessoEletronicoRN extends InfraRN { | ||
498 | { | 493 | { |
499 | try { | 494 | try { |
500 | return $this->getObjPenWs()->enviarComponenteDigital($parametros); | 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 | } catch (\Exception $e) { | 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 | $parametros = new stdClass(); | 507 | $parametros = new stdClass(); |
518 | $parametros->IDT = $parNumIdentificacaoTramite; | 508 | $parametros->IDT = $parNumIdentificacaoTramite; |
519 | return $this->getObjPenWs()->solicitarMetadados($parametros); | 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 | } catch (\Exception $e) { | 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,9 +856,6 @@ class ProcessoEletronicoRN extends InfraRN { | ||
871 | 856 | ||
872 | } catch (\SoapFault $fault) { | 857 | } catch (\SoapFault $fault) { |
873 | $mensagem = $this->tratarFalhaWebService($fault); | 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 | throw new InfraException(InfraString::formatarJavaScript($mensagem), $fault); | 859 | throw new InfraException(InfraString::formatarJavaScript($mensagem), $fault); |
878 | } catch (\Exception $e) { | 860 | } catch (\Exception $e) { |
879 | throw new InfraException("Error Processing Request", $e); | 861 | throw new InfraException("Error Processing Request", $e); |
@@ -921,12 +903,10 @@ class ProcessoEletronicoRN extends InfraRN { | @@ -921,12 +903,10 @@ class ProcessoEletronicoRN extends InfraRN { | ||
921 | 903 | ||
922 | return $arrObjTramite; | 904 | return $arrObjTramite; |
923 | 905 | ||
924 | - } catch (\SoapFault $fault) { | ||
925 | - $mensagem = $this->tratarFalhaWebService($fault); | ||
926 | - throw new InfraException(InfraString::formatarJavaScript($mensagem), $fault); | ||
927 | - | ||
928 | } catch (\Exception $e) { | 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,12 +931,10 @@ class ProcessoEletronicoRN extends InfraRN { | ||
951 | 931 | ||
952 | return $arrObjTramite; | 932 | return $arrObjTramite; |
953 | 933 | ||
954 | - } catch (\SoapFault $fault) { | ||
955 | - $mensagem = $this->tratarFalhaWebService($fault); | ||
956 | - throw new InfraException(InfraString::formatarJavaScript($mensagem), $fault); | ||
957 | - | ||
958 | } catch (\Exception $e) { | 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,15 +944,11 @@ class ProcessoEletronicoRN extends InfraRN { | ||
966 | { | 944 | { |
967 | $parametro = new stdClass(); | 945 | $parametro = new stdClass(); |
968 | $parametro->IDT = $parNumIdTramite; | 946 | $parametro->IDT = $parNumIdTramite; |
969 | - | ||
970 | return $this->getObjPenWs()->cienciaRecusa($parametro); | 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 | } catch (\Exception $e) { | 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,53 +1103,30 @@ class ProcessoEletronicoRN extends InfraRN { | ||
1129 | $parametro->dadosDoReciboDeTramite->hashDaAssinatura = $strHashDaAssinaturaBase64; | 1103 | $parametro->dadosDoReciboDeTramite->hashDaAssinatura = $strHashDaAssinaturaBase64; |
1130 | 1104 | ||
1131 | $this->getObjPenWs()->enviarReciboDeTramite($parametro); | 1105 | $this->getObjPenWs()->enviarReciboDeTramite($parametro); |
1132 | - | ||
1133 | return $strHashDaAssinaturaBase64; | 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 | } catch (\Exception $e) { | 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 | if(isset($objPrivatekey)){ | 1113 | if(isset($objPrivatekey)){ |
1156 | openssl_free_key($objPrivatekey); | 1114 | openssl_free_key($objPrivatekey); |
1157 | } | 1115 | } |
1158 | - | ||
1159 | - throw new InfraException("Error Processing Request", $e); | ||
1160 | } | 1116 | } |
1161 | } | 1117 | } |
1162 | 1118 | ||
1163 | public function receberReciboDeTramite($parNumIdTramite) | 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 | } catch (\Exception $e) { | 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,19 +1141,14 @@ class ProcessoEletronicoRN extends InfraRN { | ||
1190 | try { | 1141 | try { |
1191 | $parametro = new stdClass(); | 1142 | $parametro = new stdClass(); |
1192 | $parametro->IDT = $parNumIdTramite; | 1143 | $parametro->IDT = $parNumIdTramite; |
1193 | - | ||
1194 | $resultado = $this->getObjPenWs()->receberReciboDeEnvio($parametro); | 1144 | $resultado = $this->getObjPenWs()->receberReciboDeEnvio($parametro); |
1195 | - | ||
1196 | return $resultado->conteudoDoReciboDeEnvio; | 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 | catch (\Exception $e) { | 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 | //TODO: Implementar mapeamento entre operações do PEN e tarefas do SEI | 1154 | //TODO: Implementar mapeamento entre operações do PEN e tarefas do SEI |
@@ -1302,8 +1248,10 @@ class ProcessoEletronicoRN extends InfraRN { | @@ -1302,8 +1248,10 @@ class ProcessoEletronicoRN extends InfraRN { | ||
1302 | try{ | 1248 | try{ |
1303 | $this->getObjPenWs()->cancelarEnvioDeTramite($parametros); | 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,16 +1273,12 @@ class ProcessoEletronicoRN extends InfraRN { | ||
1325 | $parametros->recusaDeTramite->IDT = $idTramite; | 1273 | $parametros->recusaDeTramite->IDT = $idTramite; |
1326 | $parametros->recusaDeTramite->justificativa = utf8_encode($justificativa); | 1274 | $parametros->recusaDeTramite->justificativa = utf8_encode($justificativa); |
1327 | $parametros->recusaDeTramite->motivo = $motivo; | 1275 | $parametros->recusaDeTramite->motivo = $motivo; |
1328 | - | ||
1329 | $resultado = $this->getObjPenWs()->recusarTramite($parametros); | 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 | } catch (Exception $e) { | 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,14 +1288,13 @@ class ProcessoEletronicoRN extends InfraRN { | ||
1344 | $tramitePendenteDTO = new TramitePendenteDTO(); | 1288 | $tramitePendenteDTO = new TramitePendenteDTO(); |
1345 | $tramitePendenteDTO->setNumIdTramite($numIdentificacaoTramite); | 1289 | $tramitePendenteDTO->setNumIdTramite($numIdentificacaoTramite); |
1346 | $tramitePendenteDTO->setNumIdAtividade($idAtividadeExpedicao); | 1290 | $tramitePendenteDTO->setNumIdAtividade($idAtividadeExpedicao); |
1347 | - | ||
1348 | $tramitePendenteBD = new TramitePendenteBD($this->getObjInfraIBanco()); | 1291 | $tramitePendenteBD = new TramitePendenteBD($this->getObjInfraIBanco()); |
1349 | $tramitePendenteBD->cadastrar($tramitePendenteDTO); | 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,7 +1388,9 @@ class ProcessoEletronicoRN extends InfraRN { | ||
1445 | return $hipoteses; | 1388 | return $hipoteses; |
1446 | 1389 | ||
1447 | } catch(Exception $e){ | 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,7 +1399,9 @@ class ProcessoEletronicoRN extends InfraRN { | ||
1454 | $objProcessoEletronicoBD = new ProcessoEletronicoBD($this->getObjInfraIBanco()); | 1399 | $objProcessoEletronicoBD = new ProcessoEletronicoBD($this->getObjInfraIBanco()); |
1455 | return $objProcessoEletronicoBD->contar($objProcessoEletronicoDTO); | 1400 | return $objProcessoEletronicoBD->contar($objProcessoEletronicoDTO); |
1456 | }catch(Exception $e){ | 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 | } |