From 9a56f7845eb05f81c70ef965520f9fd209937f23 Mon Sep 17 00:00:00 2001 From: Guilherme Del Cantoni Date: Thu, 14 Jun 2018 14:37:36 -0300 Subject: [PATCH] Atualização dos parâmetros do SOAP para não fazer cache de wsdl em disco --- rn/ProcessoEletronicoRN.php | 167 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++----------------------------------------------------------------------------------- 1 file changed, 84 insertions(+), 83 deletions(-) diff --git a/rn/ProcessoEletronicoRN.php b/rn/ProcessoEletronicoRN.php index 7026e7f..bee6e74 100644 --- a/rn/ProcessoEletronicoRN.php +++ b/rn/ProcessoEletronicoRN.php @@ -1,11 +1,11 @@ "Formato de componente digital no suportado", + "01" => "Formato de componente digital não suportado", "02" => "Componente digital corrompido", "03" => "Falta de componentes digitais", - "04" => "Espcie documental no mapeada no destinatrio", + "04" => "Espécie documental não mapeada no destinatário", "99" => "Outro" ); @@ -86,16 +86,16 @@ class ProcessoEletronicoRN extends InfraRN { $strSenhaCertificadoDigital = $objPenParametroRN->getParametro('PEN_SENHA_CERTIFICADO_DIGITAL'); if (InfraString::isBolVazia($strEnderecoWebService)) { - throw new InfraException('Endereo do servio de integrao do Processo Eletrnico Nacional (PEN) no informado.'); + throw new InfraException('Endereço do serviço de integração do Processo Eletrônico Nacional (PEN) não informado.'); } /* if (!@file_get_contents($strLocalizacaoCertificadoDigital)) { - throw new InfraException("Certificado digital de autenticao do servio de integrao do Processo Eletrnico Nacional(PEN) no encontrado."); + throw new InfraException("Certificado digital de autenticação do serviço de integração do Processo Eletrônico Nacional(PEN) não encontrado."); }*/ - //TODO: Urgente - Remover senha do certificado de autenticao dos servios do PEN da tabela de parmetros + //TODO: Urgente - Remover senha do certificado de autenticação dos serviços do PEN da tabela de parâmetros if (InfraString::isBolVazia($strSenhaCertificadoDigital)) { - throw new InfraException('Dados de autenticao do servio de integrao do Processo Eletrnico Nacional(PEN) no informados.'); + throw new InfraException('Dados de autenticação do serviço de integração do Processo Eletrõnico Nacional(PEN) não informados.'); } $this->strWSDL = $strEnderecoWebService . '?wsdl'; @@ -108,6 +108,7 @@ class ProcessoEletronicoRN extends InfraRN { , 'local_cert' => $this->strLocalCert , 'passphrase' => $this->strLocalCertPassword , 'resolve_wsdl_remote_includes' => true + , 'cache_wsdl'=> WSDL_CACHE_NONE , 'trace' => true , 'encoding' => 'UTF-8' , 'attachment_type' => BeSimple\SoapCommon\Helper::ATTACHMENTS_TYPE_MTOM @@ -126,14 +127,14 @@ class ProcessoEletronicoRN extends InfraRN { * Verifica se o uma url esta ativa * * @param string $strUrl url a ser testada - * @param string $strLocalCert local fsico do certificado .pem + * @param string $strLocalCert local físico do certificado .pem * @throws InfraException * @return null */ private function testaUrl($strUrl = '', $strLocalCert = ''){ $arrParseUrl = parse_url($this->strWSDL); - // melhor a pgina inicial que todo o arquivo wsdl + // é melhor a página inicial que todo o arquivo wsdl $strUrl = $arrParseUrl['scheme'].'://'.$arrParseUrl['host']; $strCommand = sprintf('curl %s --insecure --cert %s 2>&1', $strUrl, $this->options['local_cert']); @@ -144,7 +145,7 @@ class ProcessoEletronicoRN extends InfraRN { if($numRetorno > 0){ - throw new InfraException('Falha de comunicao com o Barramento de Servios. Por favor, tente novamente mais tarde.', $e); + throw new InfraException('Falha de comunicação com o Barramento de Serviços. Por favor, tente novamente mais tarde.', $e); } } @@ -176,14 +177,14 @@ class ProcessoEletronicoRN extends InfraRN { $this->objPenWs = new BeSimple\SoapClient\SoapClient($this->strWSDL, $this->options); } } catch (Exception $e) { - throw new InfraException('Erro acessando servio.', $e); + throw new InfraException('Erro acessando serviço.', $e); } } return $this->objPenWs; } - //TODO: Avaliar otimizao de tal servio para buscar individualmente os dados do repositrio de estruturas + //TODO: Avaliar otimização de tal serviço para buscar individualmente os dados do repositório de estruturas public function consultarRepositoriosDeEstruturas($numIdentificacaoDoRepositorioDeEstruturas) { $objRepositorioDTO = null; @@ -211,7 +212,7 @@ class ProcessoEletronicoRN extends InfraRN { } } } catch(Exception $e){ - throw new InfraException("Erro durante obteno dos repositrios", $e); + throw new InfraException("Erro durante obtenção dos repositórios", $e); } return $objRepositorioDTO; @@ -243,7 +244,7 @@ class ProcessoEletronicoRN extends InfraRN { } } } catch(Exception $e){ - throw new InfraException("Erro durante obteno dos repositrios", $e); + throw new InfraException("Erro durante obtenção dos repositórios", $e); } return $arrObjRepositorioDTO; @@ -294,7 +295,7 @@ class ProcessoEletronicoRN extends InfraRN { } } catch (Exception $e) { - throw new InfraException("Erro durante obteno das unidades", $e); + throw new InfraException("Erro durante obtenção das unidades", $e); } } @@ -305,7 +306,7 @@ class ProcessoEletronicoRN extends InfraRN { try{ $idRepositorioEstrutura = filter_var($idRepositorioEstrutura, FILTER_SANITIZE_NUMBER_INT); if(!$idRepositorioEstrutura) { - throw new InfraException("Repositrio de Estruturas invlido"); + throw new InfraException("Repositório de Estruturas inválido"); } $parametros = new stdClass(); @@ -354,7 +355,7 @@ class ProcessoEletronicoRN extends InfraRN { } } catch (Exception $e) { - throw new InfraException("Erro durante obteno das unidades", $e); + throw new InfraException("Erro durante obtenção das unidades", $e); } return $arrObjEstruturaDTO; @@ -405,12 +406,12 @@ class ProcessoEletronicoRN extends InfraRN { if (!empty($fault->detail->interoperabilidadeException->codigoErro) && $fault->detail->interoperabilidadeException->codigoErro == '0005') { - $mensagem = 'O cdigo mapeado para a unidade ' . utf8_decode($parametros->novoTramiteDeProcesso->processo->documento[0]->produtor->unidade->nome) . ' est incorreto.'; + $mensagem = 'O código mapeado para a unidade ' . utf8_decode($parametros->novoTramiteDeProcesso->processo->documento[0]->produtor->unidade->nome) . ' está incorreto.'; } else { $mensagem = $this->tratarFalhaWebService($fault); } - //TODO: Remover formatao do javascript aps resoluo do BUG enviado para Mairon - //relacionado ao a renderizao de mensagens de erro na barra de progresso + //TODO: Remover formatação do javascript após resolução do BUG enviado para Mairon + //relacionado ao a renderização de mensagens de erro na barra de progresso error_log($mensagem); throw new InfraException(InfraString::formatarJavaScript($mensagem), $fault); @@ -453,7 +454,7 @@ class ProcessoEletronicoRN extends InfraRN { return $arrObjPendenciaDTO; } - //TODO: Tratar cada um dos possveis erros gerados pelos servios de integrao do PEN + //TODO: Tratar cada um dos possíveis erros gerados pelos serviços de integração do PEN private function tratarFalhaWebService(SoapFault $fault) { error_log('$e->faultcode:' . $fault->faultcode); @@ -465,7 +466,7 @@ class ProcessoEletronicoRN extends InfraRN { switch ($strWsException->codigoErro) { case '0044': - $mensagem = 'Processo j possui um trmite em andamento'; + $mensagem = 'Processo já possui um trâmite em andamento'; break; default: @@ -514,8 +515,8 @@ class ProcessoEletronicoRN extends InfraRN { $mensagem = $this->tratarFalhaWebService($fault); - //TODO: Remover formatao do javascript aps resoluo do BUG enviado para Mairon - //relacionado ao a renderizao de mensagens de erro na barra de progresso + //TODO: Remover formatação do javascript após resolução do BUG enviado para Mairon + //relacionado ao a renderização de mensagens de erro na barra de progresso throw new InfraException(InfraString::formatarJavaScript($mensagem), $fault); } catch (\Exception $e) { @@ -535,8 +536,8 @@ class ProcessoEletronicoRN extends InfraRN { return $this->getObjPenWs()->solicitarMetadados($parametros); } catch (\SoapFault $fault) { $mensagem = $this->tratarFalhaWebService($fault); - //TODO: Remover formatao do javascript aps resoluo do BUG enviado para Mairon - //relacionado ao a renderizao de mensagens de erro na barra de progresso + //TODO: Remover formatação do javascript após resolução do BUG enviado para Mairon + //relacionado ao a renderização de mensagens de erro na barra de progresso error_log($mensagem); throw new InfraException(InfraString::formatarJavaScript($mensagem), $fault); @@ -587,22 +588,22 @@ class ProcessoEletronicoRN extends InfraRN { public function cadastrarTramiteDeProcesso($parDblIdProcedimento, $parStrNumeroRegistro, $parNumIdentificacaoTramite, $parDthRegistroTramite, $parObjProcesso, $parNumTicketComponentesDigitais = null, $parObjComponentesDigitaisSolicitados = null) { if(!isset($parDblIdProcedimento) || $parDblIdProcedimento == 0) { - throw new InfraException('Parmetro $parDblIdProcedimento no informado.'); + throw new InfraException('Parâmetro $parDblIdProcedimento não informado.'); } if(!isset($parStrNumeroRegistro)) { - throw new InfraException('Parmetro $parStrNumeroRegistro no informado.'); + throw new InfraException('Parâmetro $parStrNumeroRegistro não informado.'); } if(!isset($parNumIdentificacaoTramite) || $parNumIdentificacaoTramite == 0) { - throw new InfraException('Parmetro $parStrNumeroRegistro no informado.'); + throw new InfraException('Parâmetro $parStrNumeroRegistro não informado.'); } if(!isset($parObjProcesso)) { - throw new InfraException('Parmetro $objProcesso no informado.'); + throw new InfraException('Parâmetro $objProcesso não informado.'); } - //Monta dados do processo eletrnico + //Monta dados do processo eletrônico $objProcessoEletronicoDTO = new ProcessoEletronicoDTO(); $objProcessoEletronicoDTO->setStrNumeroRegistro($parStrNumeroRegistro); $objProcessoEletronicoDTO->setDblIdProcedimento($parDblIdProcedimento); @@ -626,7 +627,7 @@ class ProcessoEletronicoRN extends InfraRN { $objProcessoEletronicoDTO->setArrObjRelProcessoEletronicoApensado($arrObjRelProcessoEletronicoApensadoDTO); } - //Monta dados do trmite do processo + //Monta dados do trâmite do processo $objTramiteDTO = new TramiteDTO(); $objTramiteDTO->setStrNumeroRegistro($parStrNumeroRegistro); $objTramiteDTO->setNumIdTramite($parNumIdentificacaoTramite); @@ -646,16 +647,16 @@ class ProcessoEletronicoRN extends InfraRN { } - //TODO: Tratar a exceo de recebimento de um trmite que j havia sido tratado no sistema + //TODO: Tratar a exceção de recebimento de um trâmite que já havia sido tratado no sistema protected function cadastrarTramiteDeProcessoInternoControlado(ProcessoEletronicoDTO $parObjProcessoEletronicoDTO) { if(!isset($parObjProcessoEletronicoDTO)) { - throw new InfraException('Parmetro $parObjProcessoEletronicoDTO no informado.'); + throw new InfraException('Parâmetro $parObjProcessoEletronicoDTO não informado.'); } $idProcedimento = $parObjProcessoEletronicoDTO->getDblIdProcedimento(); - //Registra os dados do processo eletrnico + //Registra os dados do processo eletrônico //TODO: Revisar a forma como o barramento tratar o NRE para os processos apensados $objProcessoEletronicoDTOFiltro = new ProcessoEletronicoDTO(); $objProcessoEletronicoDTOFiltro->setStrNumeroRegistro($parObjProcessoEletronicoDTO->getStrNumeroRegistro()); @@ -685,7 +686,7 @@ class ProcessoEletronicoRN extends InfraRN { } } - //Registrar informaes sobre o trmite do processo + //Registrar informações sobre o trâmite do processo $arrObjTramiteDTO = $parObjProcessoEletronicoDTO->getArrObjTramiteDTO(); $parObjTramiteDTO = $arrObjTramiteDTO[0]; @@ -703,7 +704,7 @@ class ProcessoEletronicoRN extends InfraRN { $objProcessoEletronicoDTO->setArrObjTramiteDTO(array($objTramiteDTO)); - //Registra informaes sobre o componente digital do documento + //Registra informações sobre o componente digital do documento $arrObjComponenteDigitalDTO = array(); $objComponenteDigitalBD = new ComponenteDigitalBD($this->getObjInfraIBanco()); @@ -725,7 +726,7 @@ class ProcessoEletronicoRN extends InfraRN { foreach ($parObjTramiteDTO->getArrObjComponenteDigitalDTO() as $objComponenteDigitalDTO) { - //Verifica se o documento foi inserido pelo trmite atual + //Verifica se o documento foi inserido pelo trâmite atual if($objComponenteDigitalDTO->getDblIdDocumento() != null){ $objComponenteDigitalDTO->setDblIdProcedimento($idProcedimento); @@ -760,7 +761,7 @@ class ProcessoEletronicoRN extends InfraRN { $objTramiteDTO->setArrObjComponenteDigitalDTO($arrObjComponenteDigitalDTO); - //TODO: Adicionar controle de excesso + //TODO: Adicionar controle de excessão //... return $objProcessoEletronicoDTO; @@ -807,7 +808,7 @@ class ProcessoEletronicoRN extends InfraRN { //Por enquanto, considera que o documento possui apenas um componente digital if(is_array($objDocumento->componenteDigital) && count($objDocumento->componenteDigital) != 1) { - throw new InfraException("Erro processando componentes digitais do processo " . $parObjProcesso->protocolo . "\n Somente permitido o recebimento de documentos com apenas um Componente Digital."); + throw new InfraException("Erro processando componentes digitais do processo " . $parObjProcesso->protocolo . "\n Somente é permitido o recebimento de documentos com apenas um Componente Digital."); } $objComponenteDigital = $objDocumento->componenteDigital; @@ -821,7 +822,7 @@ class ProcessoEletronicoRN extends InfraRN { $objComponenteDigitalDTO->setStrMimeType($objComponenteDigital->mimeType); $objComponenteDigitalDTO->setStrDadosComplementares($objComponenteDigital->dadosComplementaresDoTipoDeArquivo); - //Registrar componente digital necessita ser enviado pelo trmite espeffico //TODO: Teste $parObjComponentesDigitaisSolicitados aqui + //Registrar componente digital necessita ser enviado pelo trâmite espefífico //TODO: Teste $parObjComponentesDigitaisSolicitados aqui if(isset($parObjComponentesDigitaisSolicitados)){ $arrObjItensSolicitados = is_array($parObjComponentesDigitaisSolicitados->processo) ? $parObjComponentesDigitaisSolicitados->processo : array($parObjComponentesDigitaisSolicitados->processo); @@ -873,8 +874,8 @@ class ProcessoEletronicoRN extends InfraRN { //error_log("ERROR:" . print_r($fault, true)); $mensagem = $this->tratarFalhaWebService($fault); - //TODO: Remover formatao do javascript aps resoluo do BUG enviado para Mairon - //relacionado ao a renderizao de mensagens de erro na barra de progresso + //TODO: Remover formatação do javascript após resolução do BUG enviado para Mairon + //relacionado ao a renderização de mensagens de erro na barra de progresso error_log($mensagem); throw new InfraException(InfraString::formatarJavaScript($mensagem), $fault); @@ -1009,7 +1010,7 @@ class ProcessoEletronicoRN extends InfraRN { } if (!in_array($objProtocoloDTO->getStrStaEstado(), array(ProtocoloRN::$TE_EM_PROCESSAMENTO, ProtocoloRn::$TE_BLOQUEADO))) { - throw new InfraException(utf8_encode('O processo no esta com o estado com "Em Processamento" ou "Bloqueado"')); + throw new InfraException(utf8_encode('O processo não esta com o estado com "Em Processamento" ou "Bloqueado"')); } $objTramiteDTO = new TramiteDTO(); @@ -1022,7 +1023,7 @@ class ProcessoEletronicoRN extends InfraRN { $arrObjTramiteDTO = $objTramiteBD->listar($objTramiteDTO); if(!$arrObjTramiteDTO){ - throw new InfraException('Trmite no encontrado'); + throw new InfraException('Trâmite não encontrado'); } $objTramiteDTO = $arrObjTramiteDTO[0]; @@ -1062,7 +1063,7 @@ class ProcessoEletronicoRN extends InfraRN { $objPenUnidadeDTO = $objBD->consultar($objPenUnidadeDTO); if (empty($objPenUnidadeDTO)) { - throw new InfraException(utf8_encode('Nmero da Unidade RH no foi encontrado')); + throw new InfraException(utf8_encode('Número da Unidade RH não foi encontrado')); } $numIdEstrutura = $objPenUnidadeDTO->getNumIdUnidadeRH(); @@ -1071,13 +1072,13 @@ class ProcessoEletronicoRN extends InfraRN { if ($objTramite->remetente->numeroDeIdentificacaoDaEstrutura != $numIdEstrutura || $objTramite->remetente->identificacaoDoRepositorioDeEstruturas != $numIdRepositorio) { - throw new InfraException(utf8_encode('O ltimo trmite desse processo no pertence a esse rgo')); + throw new InfraException(utf8_encode('O último trâmite desse processo não pertence a esse órgão')); } switch ($objTramite->situacaoAtual) { case static::$STA_SITUACAO_TRAMITE_RECIBO_ENVIADO_DESTINATARIO: - // @todo: caso command-line informar o procedimento que ser executado + // @todo: caso command-line informar o procedimento que será executado $objPenTramiteProcessadoRN = new PenTramiteProcessadoRN(PenTramiteProcessadoRN::STR_TIPO_RECIBO); if(!$objPenTramiteProcessadoRN->isProcedimentoRecebido($objTramite->IDT)){ @@ -1088,7 +1089,7 @@ class ProcessoEletronicoRN extends InfraRN { break; case static::$STA_SITUACAO_TRAMITE_RECIBO_RECEBIDO_REMETENTE: - throw new InfraException(utf8_encode('O trmite externo deste processo j foi concludo')); + throw new InfraException(utf8_encode('O trâmite externo deste processo já foi concluído')); break; default: @@ -1156,8 +1157,8 @@ class ProcessoEletronicoRN extends InfraRN { //error_log("ERROR:" . print_r($fault, true)); $mensagem = $this->tratarFalhaWebService($fault); - //TODO: Remover formatao do javascript aps resoluo do BUG enviado para Mairon - //relacionado ao a renderizao de mensagens de erro na barra de progresso + //TODO: Remover formatação do javascript após resolução do BUG enviado para Mairon + //relacionado ao a renderização de mensagens de erro na barra de progresso error_log($mensagem); throw new InfraException(InfraString::formatarJavaScript($mensagem), $fault); @@ -1215,11 +1216,11 @@ class ProcessoEletronicoRN extends InfraRN { throw new InfraException("Error Processing Request", $e); } - //TODO: Implementar mapeamento entre operaes do PEN e tarefas do SEI + //TODO: Implementar mapeamento entre operações do PEN e tarefas do SEI public function converterOperacaoDTO($objOperacaoPEN) { if(!isset($objOperacaoPEN)) { - throw new InfraException('Parmetro $objOperacaoPEN no informado.'); + throw new InfraException('Parâmetro $objOperacaoPEN não informado.'); } $objOperacaoDTO = new OperacaoDTO(); @@ -1236,17 +1237,17 @@ class ProcessoEletronicoRN extends InfraRN { switch ($objOperacaoPEN->codigo) { case "01": $objOperacaoDTO->setStrNome("Registro"); break; case "02": $objOperacaoDTO->setStrNome("Envio de documento avulso/processo"); break; - case "03": $objOperacaoDTO->setStrNome("Cancelamento/excluso ou envio de documento"); break; + case "03": $objOperacaoDTO->setStrNome("Cancelamento/exclusão ou envio de documento"); break; case "04": $objOperacaoDTO->setStrNome("Recebimento de documento"); break; - case "05": $objOperacaoDTO->setStrNome("Autuao"); break; - case "06": $objOperacaoDTO->setStrNome("Juntada por anexao"); break; - case "07": $objOperacaoDTO->setStrNome("Juntada por apensao"); break; - case "08": $objOperacaoDTO->setStrNome("Desapensao"); break; + case "05": $objOperacaoDTO->setStrNome("Autuação"); break; + case "06": $objOperacaoDTO->setStrNome("Juntada por anexação"); break; + case "07": $objOperacaoDTO->setStrNome("Juntada por apensação"); break; + case "08": $objOperacaoDTO->setStrNome("Desapensação"); break; case "09": $objOperacaoDTO->setStrNome("Arquivamento"); break; case "10": $objOperacaoDTO->setStrNome("Arquivamento no Arquivo Nacional"); break; - case "11": $objOperacaoDTO->setStrNome("Eliminao"); break; + case "11": $objOperacaoDTO->setStrNome("Eliminação"); break; case "12": $objOperacaoDTO->setStrNome("Sinistro"); break; - case "13": $objOperacaoDTO->setStrNome("Reconstituio de processo"); break; + case "13": $objOperacaoDTO->setStrNome("Reconstituição de processo"); break; case "14": $objOperacaoDTO->setStrNome("Desarquivamento"); break; case "15": $objOperacaoDTO->setStrNome("Desmembramento"); break; case "16": $objOperacaoDTO->setStrNome("Desentranhamento"); break; @@ -1258,7 +1259,7 @@ class ProcessoEletronicoRN extends InfraRN { return $objOperacaoDTO; } - //TODO: Implementar mapeamento entre operaes do PEN e tarefas do SEI + //TODO: Implementar mapeamento entre operações do PEN e tarefas do SEI public function obterCodigoOperacaoPENMapeado($numIdTarefa) { $strCodigoOperacao = self::$OP_OPERACAO_REGISTRO; @@ -1280,7 +1281,7 @@ class ProcessoEletronicoRN extends InfraRN { return $strCodigoOperacao; } - //TODO: Implementar mapeamento entre operaes do PEN e tarefas do SEI + //TODO: Implementar mapeamento entre operações do PEN e tarefas do SEI public function obterIdTarefaSEIMapeado($strCodigoOperacao) { return self::$TI_PROCESSO_ELETRONICO_PROCESSO_TRAMITE_EXTERNO; @@ -1289,7 +1290,7 @@ class ProcessoEletronicoRN extends InfraRN { /** * Cancela um tramite externo de um procedimento para outra unidade, gera - * falha caso a unidade de destino j tenha comeado a receber o procedimento. + * falha caso a unidade de destino já tenha começado a receber o procedimento. * * @param type $idTramite * @param type $idProtocolo @@ -1318,7 +1319,7 @@ class ProcessoEletronicoRN extends InfraRN { } /** - * Mtodo que faz a recusa de um trmite + * Método que faz a recusa de um trâmite * * @param integer $idTramite * @param string $justificativa @@ -1379,7 +1380,7 @@ class ProcessoEletronicoRN extends InfraRN { $objGenericoBD = new GenericoBD($this->inicializarObjInfraIBanco()); $objPenUnidadeDTO = $objGenericoBD->consultar($objPenUnidadeDTO); - //Obtem os dados do ltimo trmite desse processo no barramento + //Obtem os dados do último trâmite desse processo no barramento $objProtocoloDTO = new ProtocoloDTO(); $objProtocoloDTO->setStrProtocoloFormatado($strProtocolo); $objProtocoloDTO->retDblIdProtocolo(); @@ -1455,7 +1456,7 @@ class ProcessoEletronicoRN extends InfraRN { return $hipoteses; } catch(Exception $e){ - throw new InfraException("Erro durante obteno da resposta das hipteses legais", $e); + throw new InfraException("Erro durante obtenção da resposta das hipóteses legais", $e); } } -- libgit2 0.21.2