Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico. |
---|
Especificação | |||
Produto |
| TSS TOTVS Service SOA |
|
Segmento Executor |
| ||
Projeto1 |
| IRM1 |
|
Requisito1 |
| Subtarefa1 |
|
Chamado2 |
| ||
Release de Entrega Planejada |
| Réplica |
|
País | ( X) Brasil ( X) Argentina (X ) Mexico (X ) Chile ( X) Paraguai ( X ) Equador ( X) USA ( X ) Colombia ( ) Outro _____________. | ||
Outros | <Caso necessário informe outras referências que sejam pertinentes a esta especificação. Exemplo: links de outros documentos ou subtarefas relacionadas>. |
Legenda: 1 – Inovação 2 – Manutenção (Os demais campos devem ser preenchidos para ambos os processos).
Definir uma estrutura padrão para implementação dos métodos do TSS, para que possa ser utilizado tanto pela DLL quanto pelo Web service do TSS.
Deverá ser retirado todo o processamento dos métodos. Os métodos deverão conter apenas as validações específicas dos métodos, a chamada para a função de processamento e a validação do retorno do processamento. O método deverá estar estruturado para funcionar tanto para requisições da DLL quanto para as requisições enviadas diretamente pelos Web Services do TSS. Caso a requisição seja recebida pela DLL, o processo será direcionado para a função DLLProcRequest(), caso contrário será enviada para a função TSSProcRequest(). A Decisão de qual função chamar, deverá ser definida na compilação através de uma diretiva de compilação.
WSMETHOD XXXXXXXXX WSRECEIVE XXXXXX, XXXXXX, XXXXXXX WSSEND XXXX WSSERVICE XXXXXX
local lRetorno := .T.
private oJSON := nil
private oJSONRet := nil
//VALIDAÇÕES ESPECÍFICAS DO MÉTODO. MANTER TODAS AS VALIDAÇÕES EXISTENTES.
fwJsonDeserialize( getWSJsonRequest() , @oJSON)
if( type("oJSON") <> "U")
//Define o processo de acordo com a chamada: DLL ou Web Service
#IFDEF PROCDLL
fwJsonDeSerialize( DLLProcRequest( oJSON ), @oJSONRet)
#ELSE
fwJsonDeSerialize( TSSProcRequest( oJSON ), @oJSONRet)
#ENDIF
if( type("oJSONRet") == "U" .or. oJSONRet:result == "false" )
lRetorno := .F.
setSoapfault( STR0001, if( type("oJSONRet:error") <> "U", oJSONRet:error, getJSONError() ) )
else
self:NFeOk := oJSONRet:send
endif
else
lRetorno := .F.
setSoapfault( STR0001, getJSONError() )
endif
return finishSped(lRetorno)
<Caso necessário inclua protótipos de telas com o objetivo de facilitar o entendimento do requisito, apresentar conceitos e funcionalidades do software>.
1.1. Valida parâmetros específicos do método
1.2. Dados inválido[2.1]
1.3. Monta mensagem JSON padrão de processamento do TSS
1.4. Envia requisição para processamento
1.5. Verifica se houve falha no processamento.
1.6. Falha na execução da requisição[2.1]
1.7. retorna resposta da requisição.
2. Fluxo Secundário
2.1. Falha na validação
2.1.1. Retorna String Soap Fault.
<Informações utilizadas na linha Protheus>.
<Informações utilizadas na linha Protheus>
<Informações utilizadas na linha Datasul>.
Procedimentos
Programas
Cadastro de Papéis
<O cadastro de papéis é obrigatório para os projetos de desenvolvimento FLEX a partir do Datasul 10>.
<Lembrete: o nome dos papeis em inglês descrito neste ponto do documento, devem ser homologados pela equipe de tradução>.
[1] Nome Verbalizado é obrigatório para desenvolvimentos no Datasul 10 em diante.
[2] Tipo é obrigatório para desenvolvimento no Datasul 10 em diante
[3] Categorias são obrigatórias para os programas FLEX.
[4] Obrigatório quando o projeto for FLEX
[5] Obrigatório quando o projeto for FLEX
[6] Obrigatório quando o projeto for FLEX
Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico. |
---|