Boa tarde,
Estou tentando alterar um registro no dataserver EduPSInscricaoAreaOfertadaData do RM através do método saveRecord, porém, está ocorrendo o erro "Falha ao converver XML para Objeto DataSet, tipo incompativel.". Seguem os códigos que estou utilizando:
Função geraXML():
function geraXML(){
log.info("CUSTOM: geraXmlContrato - inicio");
log.info("geraXml >> Variaveis do XML");
var XML; //Variavel com o XML gerado para a integração de movimento
log.info("geraXml >> Antes da montagem do XML");
XML = "<SPSInscricaoAreaOfertada>" +
"<CODCOLIGADA>47</CODCOLIGADA>" +
"<IDPS>1</IDPS>" +
"<NUMEROINSCRICAO>16</NUMEROINSCRICAO>" +
"<NOMECANDIDATO>CANDIDATO</NOMECANDIDATO>" +
"<CODUSUARIOPS>8</CODUSUARIOPS>" +
"<USANOVOPORTAL>T</USANOVOPORTAL>" +
"<CODFILIAL>1</CODFILIAL>" +
"</SPSInscricaoAreaOfertada>" +
"<SPSOpcaoInscrito>" +
"<CODCOLIGADA>47</CODCOLIGADA>" +
"<IDPS>1</IDPS>" +
"<NUMEROINSCRICAO>16</NUMEROINSCRICAO>" +
"<IDAREAINTERESSE>6</IDAREAINTERESSE>" +
"<NUMEROOPCAO>1</NUMEROOPCAO>" +
"<NOME>FEBRACIS CURITIBA</NOME>" +
"<STATUS>0</STATUS>" +
"<CODUSUARIOPS>8</CODUSUARIOPS>" +
"</SPSOpcaoInscrito>" +
"<SPSInscAreaOfertaCompl>" +
"<CODCOLIGADA>47</CODCOLIGADA>" +
"<IDPS>1</IDPS>" +
"<NUMEROINSCRICAO>16</NUMEROINSCRICAO>" +
"<UNIDADE>24</UNIDADE>" +
"</SPSInscAreaOfertaCompl>" +
"</EduPSInscricaoAreaOfertada>";
log.info("CUSTOM: geraXML________________________________________________________________");
log.info(XML);
return XML;
}
Vale ressaltar que esse XML reduzido que estou passando foi testado no soapUI e funciona normalmente. Também testei a criação do XML com base no XML gerado pelo método readRecord, nesse caso também não funcionou.
Função que chama o método saveRecord passando o XML criado:
try {
// Criar o objeto de Integracao
var SERVICE_STUB = ServiceManager.getService('wsDataServer');
log.info("INSCRICAO-> SERVICE_STUB: " + SERVICE_STUB);
var SERVICE_HELPER = SERVICE_STUB.getBean();
log.info("INSCRICAO-> SERVICE_HELPER: " + SERVICE_HELPER);
// Criar o obejto da classe principal do Servico
var wsDataServer = SERVICE_HELPER.instantiate('com.totvs.WsDataServer');
log.info("INSCRICAO-> wsDataServer: " + wsDataServer);
// Obter o objeto do WS
var iWsDataServer = wsDataServer.getRMIwsDataServer();
log.info("INSCRICAO-> iWsDataServer: " + iWsDataServer);
// Configurar a autentica??o
var rm_user = 'mestre';
var rm_pass = 'totvs';
log.info("#1");
var authIwsDataServer = SERVICE_STUB.getBasicAuthenticatedClient(iWsDataServer, 'com.totvs.IwsDataServer', rm_user, rm_pass);
log.info("INSCRICAO-> authIwsDataServer: " + authIwsDataServer);
log.info("#2");
// Passar os parametros
var dataServerName = "EduPSInscricaoAreaOfertadaData";
log.info("#3");
var contexto = "CODCOLIGADA=47,CODFILIAL=1,CODUSUARIO=mestre,CODSISTEMA=S";
log.info("#4");
// Executar
var XML = geraXML();
var result = authIwsDataServer.saveRecord(dataServerName, XML, contexto);
log.info("#5");
log.info("INSCRICAO-> readViewResult: " + result);
if ((result != null) && (result.indexOf("===") != -1)) {
var msgErro = result.substring(0, result.indexOf("==="));
throw msgErro;
}
return result;
} catch(e) {
if (e == null) e = "Erro desconhecido!";
var mensagemErro = "Ocorreu um erro ao salvar dados no RM: " + e;
throw mensagemErro+"ERRO NO RM "+result;
}