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:
Coligada da Sentença SQL |
Coligada informada no Contexto |
Coligada que será Considerada |
---|---|---|
0
|
null
|
0
|
0 | 1 | 1 |
1 | null | 1 |
1 | 2 | 1 |
0 Comentários