Usuário com melhor resposta
Chamar WebService via JScript com mais de um parametro

Pergunta
-
Boa tarde a todos...
Fiz um WebService que verifica se o nome informado corresponde ao CPF informado.
Porém não consigo executar este WebService passanodo os dois parametros (nome e cpf)
Segue o JScript:
var soapBody ="<soap:Body>" + "<cpf xmlns=\"http://tempuri.org/\">" + "<_cpf>" + input + "</_cpf:>" + "</cpf>" + "<nome xmlns=\"http://tempuri.org/\">" + "<_nome>" + input2 + "</_nome:>" + "</nome>" + "</soap:Body>"; var xml = "" + "<?xml version=\"1.0\" encoding=\"utf-8\"?>" + "<soap:Envelope xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\">" + GenerateAuthenticationHeader() + soapBody + "</soap:Envelope>" + ""; var xmlHttpRequest = new ActiveXObject("Msxml2.XMLHTTP"); xmlHttpRequest.Open("POST", "http://localhost:56428/ValidarCPF.asmx/ValidarCPF", false); xmlHttpRequest.setRequestHeader("SOAPAction","http://tempuri.org/cep"); xmlHttpRequest.setRequestHeader("Content-Type", "text/xml; charset=utf-8"); xmlHttpRequest.setRequestHeader("Content-Length", xml.length); xmlHttpRequest.send(xml); var resultXml = xmlHttpRequest.responseXML;
O erro retornado no evento OnChange do campo cpf é::
Erro: Número de argumentos incorreto ou atribuição de propriedade inválida
Alguém pode me ajudar?
Respostas
-
Olá Carlos,
Você pode utilizar a função RemoteCommand:
http://rami-heleg.blogspot.com/2010/07/using-remotecommand-in-crm-40.html
Recomendo você copia a função para seu código e renomeá-la. Desta forma você estará utilizando-a de forma suportada ;)
Abraço,
Ricardo Alves
www.ricardoalves.me- Sugerido como Resposta RicardoAlves sábado, 6 de novembro de 2010 20:33
- Marcado como Resposta RicardoAlves segunda-feira, 8 de novembro de 2010 20:58
-
Carlos,
Essa função é do próprio Dynamics CRM, mas não permitido o uso.
O erro "não está definido" é porque ela realmente não existe. Está parte que você copio é apenas a chamada da função, você precisa copiá-la para seu fonte para funcionar...
Eu criei um post com a função no blog:
http://ricardoalves.me/56/consultar-webservice-via-jscript-no-dynamics-crm/
Abraço,
Ricardo Alves
www.ricardoalves.me- Sugerido como Resposta RicardoAlves domingo, 7 de novembro de 2010 19:16
- Marcado como Resposta RicardoAlves segunda-feira, 8 de novembro de 2010 20:58
Todas as Respostas
-
Olá Carlos,
Você pode utilizar a função RemoteCommand:
http://rami-heleg.blogspot.com/2010/07/using-remotecommand-in-crm-40.html
Recomendo você copia a função para seu código e renomeá-la. Desta forma você estará utilizando-a de forma suportada ;)
Abraço,
Ricardo Alves
www.ricardoalves.me- Sugerido como Resposta RicardoAlves sábado, 6 de novembro de 2010 20:33
- Marcado como Resposta RicardoAlves segunda-feira, 8 de novembro de 2010 20:58
-
Opa,
Obrigado Ricardo
Porém escrevi a função porém me retorna um erro dizendo que Erro:'Custom Command' não está definido;SEgundo a função do Rami Heleg, o parametro "/MySite/" é a URL do WebService?var cmd = new CustomCommand('ValidarCPF', 'validarCPF', 'http://localhost:56428/ValidarCPF.asmx/ValidarCPF', 'http://validarCPF.org/'); cmd.SetParameter('_cpf', _cpf); cmd.SetParameter('_nome', _nome); var rslt = cmd.Execute(); if (!rslt || !rslt.ReturnValue){ var vstatus = resultXml.getElementsByTagName('Status'); var vmensagem = resultXml.getElementsByTagName('Mensagem'); if (vstatus == 1) { window.alert(vmensagem); } else if (vstatus == 2) { window.alert(vmensagem); } else if (vstatus == 3) { window.alert(vmensagem); } return; } if (rslt.ReturnValue.errorDescription) { //Failed alert(rslt.ReturnValue.errorDescription); return; }
-
Carlos,
Essa função é do próprio Dynamics CRM, mas não permitido o uso.
O erro "não está definido" é porque ela realmente não existe. Está parte que você copio é apenas a chamada da função, você precisa copiá-la para seu fonte para funcionar...
Eu criei um post com a função no blog:
http://ricardoalves.me/56/consultar-webservice-via-jscript-no-dynamics-crm/
Abraço,
Ricardo Alves
www.ricardoalves.me- Sugerido como Resposta RicardoAlves domingo, 7 de novembro de 2010 19:16
- Marcado como Resposta RicardoAlves segunda-feira, 8 de novembro de 2010 20:58