
Integração NODE.JS Com TOTVS RM
Abaixo está um exemplo de como integrar o NODE.JS com o TOTVS RM.
Você deverá ajustar a URL do seu webservice e também o campo senha, que deverá ser um valor convertido em base64.
Por exemplo, se sua senha é 123456 você deverá converter em base64 que seria esta hash: MTIzNDU2
Você pode utilizar esta ferramenta para gerar o hash da sua senha: Ferramenta Base64 Online. Ou se preferir pode utilizar algum outro meio para gerar esta informação sem expor o registro na internet.
No exemplo abaixo estão dois pontos de acesso para o webservice, sendo um deles a opção de acessar o READVIEW ou READRECORD de um Webservice SOAP do RM.
Você deverá salvar este conteúdo em um arquivo como: app.js e em seguida rodar o comando node app.js , o resultado das consultas irão aparecer no terminal em que você executou o comando.
ReadView
const express = require('express')
const axios = require('axios')
const app = express()
const cors = require('cors')
app.listen(3333)
app.use(cors())
app.get('/teste_readview', (req,res)=>{
console.log('1')
let sr = `
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tot="http://www.totvs.com/">
<soapenv:Header/>
<soapenv:Body>
<tot:ReadView>
<!--Optional:-->
<tot:DataServerName>FinCFODataBR</tot:DataServerName>
<!--Optional:-->
<tot:Filtro>FCFO.CGCCFO='123456'</tot:Filtro>
<!--Optional:-->
<tot:Contexto>codcoligada=1;codusuario=mestre</tot:Contexto>
</tot:ReadView>
</soapenv:Body>
</soapenv:Envelope>` ;
axios.post('http://localhost:8054/wsDataServer/IwsDataServer', sr,{
headers: {
'Access-Control-Allow-Origin': '*',
'Content-Type': 'text/xml; charset=utf-8',
'Authorization': 'Basic SENHAEMBASE64',
SOAPAction:
'http://www.totvs.com/IwsDataServer/ReadView'
}
}).then(function(response){
console.log('success')
console.log(response.data)
console.log(response.headers)
console.log(response.status)
}).catch(function(error){
if(error){
console.log('1')
console.log(error)
}
})
return res.json({teste:1})
}) readview - nodejs
ReadRecord
const express = require('express')
const axios = require('axios')
const app = express()
const cors = require('cors')
app.listen(3333)
app.use(cors())
app.get('/teste_readrecord', (req,res)=>{
console.log('1')
let sr =
'<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tot="http://www.totvs.com/">'+
'<soapenv:Header/>'+
'<soapenv:Body>'+
'<tot:ReadRecord>'+
'<tot:DataServerName>FinCFODataBR</tot:DataServerName>'+
'<tot:PrimaryKey>1;1</tot:PrimaryKey>'+
'<tot:Contexto>codcoligada=1;codusuario=mestre</tot:Contexto>'+
'</tot:ReadRecord>'+
'</soapenv:Body>'+
'</soapenv:Envelope>';
axios.post('http://localhost:8054/wsDataServer/IwsDataServer', sr,{
headers: {
'Access-Control-Allow-Origin': '*',
'Content-Type': 'text/xml; charset=utf-8',
'Authorization': 'Basic SENHAEMBASE64',
SOAPAction:
'http://www.totvs.com/IwsDataServer/ReadRecord'
}
}).then(function(response){
console.log('success')
console.log(response.data)
console.log(response.headers)
console.log(response.status)
}).catch(function(error){
if(error){
console.log('1')
console.log(error)
}
})
return res.json({teste:1})
}) read-record node.js