Tempo aproximado para leitura: 00:03:00 min
Dúvida
Como utilizar o Web Service wsConsultaSQL.
Ambiente
Cross Segmentos - Backoffice RM - Integração - Todas as versões.
Solução
O Web Service wsConsultaSQL é responsável pela execução de consultas sql do sistema.
Estão expostos no wsConsultaSQL alguns métodos, onde para consumi-los é necessário enviar por uma requisição um envelope SOAP, passando os parâmetros de cada serviço.
1. Método - RealizarConsultaSQL:
Serviço responsável por executar consultas sql do sistema.
Os parâmetros solicitado pelo RealizarConsultaSQL são:
codSentenca tipo String, deve ser informado o código da sentença SQL criada dentro do Sistema RM;
codColigada tipo Int, deve ser informada a coligada a qual a sentença pertence;
codSistema tipo String, deve ser informado o código do Sistema a qual a sentença pertence;
parameters tipo String, caso sua sentença possua parâmetros para a execução, neste campo devem ser informados os parâmetros e em caso de múltiplos parâmetros devem ser separados por ";" (sem aspas);
Requisição:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tot="http://www.totvs.com/">
<soapenv:Header/>
<soapenv:Body>
<tot:RealizarConsultaSQL>
<!--Optional:-->
<tot:codSentenca>wsExemplo</tot:codSentenca>
<!--Optional:-->
<tot:codColigada>1</tot:codColigada>
<!--Optional:-->
<tot:codSistema>G</tot:codSistema>
<!--Optional:-->
<tot:parameters>CODUSUARIO=MESTRE</tot:parameters>
</tot:RealizarConsultaSQL>
</soapenv:Body>
</soapenv:Envelope>
Resposta:
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Body>
<RealizarConsultaSQLResponse xmlns="http://www.totvs.com/">
<RealizarConsultaSQLResult><![CDATA[<NewDataSet>
<Resultado>
<CODUSUARIO>mestre</CODUSUARIO>
<NOME>Usuário Mestre</NOME>
<STATUS>1</STATUS>
<DATAINICIO>1997-01-01T00:00:00</DATAINICIO>
<SENHA>oaEGFhDF</SENHA>
<CONTROLE>27621</CONTROLE>
<ULTIMACOLIGADA>1</ULTIMACOLIGADA>
<CODACESSO>Acesso02</CODACESSO>
<DTAEXPSENHA>2014-05-08T00:00:00</DTAEXPSENHA>
<OBRIGAALTERARSENHA>F</OBRIGAALTERARSENHA>
<NUMLOGININVALIDO>0</NUMLOGININVALIDO>
<EMAIL>mestre@totvs.com.br</EMAIL>
<ACESSONET>T</ACESSONET>
<DATAULTIMOACESSO>2015-07-14T13:48:54.417</DATAULTIMOACESSO>
<CODUSUARIOREDE>matheus.sena</CODUSUARIOREDE>
<DOMINIOREDE>BH01</DOMINIOREDE>
<DATAULTIMOACESSOVALIDO>2015-07-14T13:48:54.44</DATAULTIMOACESSOVALIDO>
<RECMODIFIEDBY>mestre</RECMODIFIEDBY>
<RECMODIFIEDON>2015-07-14T13:48:54</RECMODIFIEDON>
<USERID>5ddcc1c2-94b4-4974-8ed3-99aeb3dee5cf</USERID>
</Resultado>
</NewDataSet>]]></RealizarConsultaSQLResult>
</RealizarConsultaSQLResponse>
</s:Body>
</s:Envelope>
2. Método RealizarConsultaSQLContexto
Serviço responsável por executar consultas sql do sistema, possibilitando informar um contexto para execução.
Os parâmetros solicitado pelo RealizarConsultaSQLContexto são:
codSentenca tipo String
codColigada tipo Int
codSistema tipo String
parameters tipo String
context tipo String
Exemplo requisição:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tot="http://www.totvs.com/">
<soapenv:Header/>
<soapenv:Body>
<tot:RealizarConsultaSQLContexto>
<!--Optional:-->
<tot:codSentenca>wsExemplo</tot:codSentenca>
<!--Optional:-->
<tot:codColigada>1</tot:codColigada>
<!--Optional:-->
<tot:codSistema>G</tot:codSistema>
<!--Optional:-->
<tot:parameters>CODUSUARIO=MESTRE</tot:parameters>
<!--Optional:-->
<tot:context>CODCOLIGADA=1</tot:context>
</tot:RealizarConsultaSQLContexto>
</soapenv:Body>
</soapenv:Envelope>
Exemplo resposta:
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Body>
<RealizarConsultaSQLContextoResponse xmlns="http://www.totvs.com/">
<RealizarConsultaSQLContextoResult><![CDATA[<NewDataSet>
<Resultado>
<CODUSUARIO>mestre</CODUSUARIO>
<NOME>Usuário Mestre</NOME>
<STATUS>1</STATUS>
<DATAINICIO>1997-01-01T00:00:00</DATAINICIO>
<SENHA>oaEGFhDF</SENHA>
<CONTROLE>27621</CONTROLE>
<ULTIMACOLIGADA>1</ULTIMACOLIGADA>
<CODACESSO>Acesso02</CODACESSO>
<DTAEXPSENHA>2014-05-08T00:00:00</DTAEXPSENHA>
<OBRIGAALTERARSENHA>F</OBRIGAALTERARSENHA>
<NUMLOGININVALIDO>0</NUMLOGININVALIDO>
<EMAIL>mestre@totvs.com.br</EMAIL>
<ACESSONET>T</ACESSONET>
<DATAULTIMOACESSO>2015-07-14T13:48:54.417</DATAULTIMOACESSO>
<CODUSUARIOREDE>matheus.sena</CODUSUARIOREDE>
<DOMINIOREDE>BH01</DOMINIOREDE>
<DATAULTIMOACESSOVALIDO>2015-07-14T13:48:54.44</DATAULTIMOACESSOVALIDO>
<RECMODIFIEDBY>mestre</RECMODIFIEDBY>
<RECMODIFIEDON>2015-07-14T13:48:54</RECMODIFIEDON>
<USERID>5ddcc1c2-94b4-4974-8ed3-99aeb3dee5cf</USERID>
</Resultado>
</NewDataSet>]]></RealizarConsultaSQLContextoResult>
</RealizarConsultaSQLContextoResponse>
</s:Body>
</s:Envelope>
Importante
As Sentenças SQL cadastradas na Coligada Global (coligada zero) são executadas considerando todas as coligadas que o usuário possui permissão.
Exemplo: Um usuário possui permissão na coligada 1 e na coligada 2 e possui filtro por perfil cadastrados em ambas as coligadas. Ao executar uma sentença da Coligada Global o sistema irá restringir o resultado conforme os filtros cadastrados em ambas as coligadas.
Caso o usuário queira restringir o resultado considerando apenas uma coligada específica, basta informar a coligada no contexto, conforme exemplo abaixo.
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tot="http://www.totvs.com/">
<soapenv:Header/>
<soapenv:Body>
<tot:RealizarConsultaSQLContexto>
<!--Optional:-->
<tot:codSentenca>wsExemplo</tot:codSentenca>
<!--Optional:-->
<tot:codColigada>0</tot:codColigada>
<!--Optional:-->
<tot:codSistema>G</tot:codSistema>
<!--Optional:-->
<tot:parameters>CODUSUARIO=MESTRE</tot:parameters>
<!--Optional:-->
<tot:context>CODCOLIGADA=1</tot:context>
</tot:RealizarConsultaSQLContexto>
</soapenv:Body>
</soapenv:Envelope>
- Sentenças SQL cadastradas em uma coligada específica, por exemplo, Coligada 1, sempre será executada no contexto da Coligada 1 mesmo que seja informada uma outra coligada no contexto.
- Sentenças SQL cadastradas na Coligada Global será executada preferencialmente na coligada informada no contexto.
Na dúvida consulte o quadro a seguir:
Caso o filtro por usuário ou filtro por perfil realize a limitação dos resultados, a mensagem apresentada será conforme este exemplo: A consulta SQL utilizando a chave Coligada | CodSistema | CodConsultaSQL não existe ou não pode ser executada por restrição por filtro por perfil ou filtro por usuário.
{
"code": "FE011",
"message": "A consulta SQL utilizando a chave 1|E|ALUNO01 nao existe ou nao pode ser executada por restricao de filtro por perfil/usuario.",
"detailedMessage": "",
"helpUrl": "",
"details": null
}
Mais informações
Para saber mais informações, acesse o link abaixo:
TBC - Web Service ConsultaSQL
0 Comentários