[ERRO] Alteração de dados em dataserver do RM através de saveRecord

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;  

         }
compartilhar
  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do fluig Forum!

1 resposta

Não é a resposta que estava procurando? Procure outras perguntas com as tags integracao rm ou faça a sua própria pergunta.