WEB-Service para Gestão de Credencial de Acesso

Informações Gerais

Serviço

Nome:	Web Service para gestão de credencial de acesso aos serviços
Nome na interface:	WSCredencial
Início da operação:	31/05/2017
Endereço do WSDL - Testes	https://testews.siop.gov.br/services/credencial/WSCredencial?wsdl
Endereço do WSDL - Produção	https://webservice.siop.gov.br/services/credencial/WSCredencial?wsdl

Objetivo

Fornecer uma interface que possibilite a interoperabilidade entre os sistemas governamentais e o SIOP para a troca e recuperação da senha da credencial de acesso aos demais web services, oferecendo um processo mais seguro.

Operações

Este serviço disponibiliza apenas duas operações, um para troca e outra para recuperação de uma nova senha. Vale aqui relembrar que o processo de cadastro de credencial funciona da seguinte forma:

Administrador do SIOP cadastra credencial no sistema.

O SIOP cria a credencial com marcação para exigir troca de senha e envia uma senha provisória para o e-mail da credencial.

Cliente cria sua senha definitiva através da operação WSCredencial.trocarSenha(CredencialDTO credencial, String novaSenha), observando o seguinte:

O parâmetro credencial deve contar:

login = o login cadastrado pelo administrador

senha = hash MD5 da senha temporária em maiúsculas, ou seja: MD5(UPPER([senha em texto puro]))

novaSenha deve conter entre 8 e 12 caracteres maiúsculos e números.

Caso o cliente esqueça sua senha, é possível gerar uma nova através da operação WSCredencial.gerarNovaSenha(CredencialDTO credencial) e voltar para o passo 2.

2.1 Trocar Senha

Operação para troca de senha da credencial de acesso.

Nome da operação na interface do serviço: trocarSenha

Parâmetro(s) de entrada:

Parâmetro	Tipo (tamanho)	Observações
credencial	CredencialDTO	Credencial do usuário
novaSenha	String	senha em texto puro contendo de 8 a 12 caracteres maiúsculos e numeros

Tipo de Retorno: RetornoDTO

Exemplo:

Requisição:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ser="http://servicoweb.siop.sof.planejamento.gov.br/">
<soapenv:Header/>
<soapenv:Body>
<ser:trocarSenha>
<credencial>
<senha>[hash md5 da senha]</senha>
<usuario>[login credencial]</usuario>
</credencial>
<novaSenha>[senha contendo de 8 a 12 caracteres maiúsculos e numeros]</novaSenha>
</ser:trocarSenha>
</soapenv:Body>
</soapenv:Envelope>

Resposta:

<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:sof="http://servicoweb.siop.sof.planejamento.gov.br/">
<env:Header>
<sof:request>[identicador da requisição]</sof:request>
</env:Header>
<env:Body>
<ns2:trocarSenhaResponse xmlns:ns2="http://servicoweb.siop.sof.planejamento.gov.br/">
<return>
<sucesso>true</sucesso>
</return>
</ns2:trocarSenhaResponse>
</env:Body>
</env:Envelope>

2.2 Gerar Nova Senha

Operação obtenção de nova senha por e-mail

Nome da operação na interface do serviço: gerarNovaSenha

Parâmetro(s) de entrada:

Parâmetro	Tipo(tamanho)	Observações
credencial	CredencialDTO	Para essa operação é necessário preencher apenas os atributos email e usuario.

Tipo de Retorno: RetornoCaptacaoDetalheBaseExternaDTO

Exemplo:

Requisição:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ser="http://servicoweb.siop.sof.planejamento.gov.br/">
<soapenv:Header/>
<soapenv:Body>
<ser:gerarNovaSenha>
<credencial>
<email>[e-mail da credencial]</email>
<usuario>[login da credencial]</usuario>
</credencial>
</ser:gerarNovaSenha>
</soapenv:Body>
</soapenv:Envelope>

Resposta:

<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:sof="http://servicoweb.siop.sof.planejamento.gov.br/">
<env:Header>
<sof:request>[identicador da requisição]</sof:request>
</env:Header>
<env:Body>
<ns2:gerarNovaSenhaResponse xmlns:ns2="http://servicoweb.siop.sof.planejamento.gov.br/">
<return>
<mensagensErro>Aguarde alguns minutos que uma nova senha será enviadapara o seu e-mail cadastrado.</mensagensErro>
<sucesso>true</sucesso>
</return>
</ns2:gerarNovaSenhaResponse>
</env:Body>
</env:Envelope>

Estruturas de Entrada/Saída e Retorno

As informações que trafegam pelo serviço são organizadas em estruturas de dados que atuam como entrada (parâmetros) e retorno das operações. Enquanto os dados são manipulados pelos sistemas, seja nos clientes ou no servidor, essas informações ficam alocadas em entidades que, no contexto de web services, podem ser chamadas de Objetos de Transferência de Dados, ou DTOs (sigla de Data Transfer Objects). Um DTO é uma classe de objetos que descreve os atributos (e as operações de atribuição e consulta de seus valores) de determinado conceito envolvido no domínio de um problema. No momento da comunicação, seja na requisição ou na resposta, os DTOs são transformados em estruturas XML formatadas de acordo com a especificação contida no documento descritor do web service (WSDL).

As linguagens de programação modernas possuem ferramentas que automatizam o processo de construção dos DTOs a partir do WSDL, bem como bibliotecas com funcionalidades que tornam transparente para o desenvolvedor o processo de tradução de DTO para XML e vice-versa.

Entradas

CredencialDTO

Esta estrutura é composta pelas informações necessárias para que a aplicação cliente se identifique junto ao serviço. A credencial a ser utilizada nos web services do SIOP é específica para esse fim e não é válida para acessar a aplicação web.

Atributo	Tipo(tamanho)	Aceita Nulo?	Observações
usuario	Texto	Não	Login do usuário no SIOP
senha	Texto	Não	Hash MD5 da senha do usuário no SIOP
perfil	Inteiro	Sim (apenas para operações de consultas de tabelas de apoio).	Perfil com o qual o usuário deseja realizar determinada operação. Não é obrigatório na operação obterTabelasApoioQuantitativo.

RetornoDTO

Atributo	Tipo(tamanho)	Observações
sucesso	boolean	Indica se a requisição foi processada com sucesso.
mensagensErro	List<String>	Contém a lista de mensagens de erro nos casos em que sucesso retornar valor igual false.