Problemas ao atualizar registro utilizando requisição POST
24/10/2011 13:03
0
Estou tentando integrar um programa externo (Delphi) a um site feito em Grails mas não estou conseguindo atualizar os dados. O programa enviará a requisição via POST para a URL: "http://localhost:8080/rh/cadastro/atualiza" e a action Atualiza em Grails atualizará os dados.

O código abaixo é o que estou utilizando.
A idéia é que ele receba a requisição via POST e crie um novo registro (ou atualize, posteriormente), mas não está funcionando.

static allowedMethods = [save: "POST", update: "POST", delete: "POST", atualiza: "POST"]

def atualiza = {
def cadastroInstance = new Cadastro(params)
if(cadastroInstance.save()){
response.status = 201 // Created
}
else{
response.status = 500 //Internal Server Error
render "Could not create new Cadastro due to errors:\n ${cadastro.errors}"
}

O programa retorna a mensagem 'HTTP/1.1 500 Internal Server Error' ao tentar atualizar.

Agradeço a quem puder ajudar.
Tags: POST, integração


1
Tente usar:

if(cadastroInstance.save(failOnError: true, flush: true)) ...


Para identificar o tipo de erro que ocorre no momento em que vc for salvar o registro.
Caso não de certo, mande parte do código em delphi que vc usa para enviar o post.
24/10/2011 18:13


0
Olá Castiel.

Valeu pela dica. Vou testar no código e ver se consigo identificar o problema.

O envio dos parâmetros pelo Delphi está sendo feito corretamente.
Eu coloquei um PrintLn na action para listar os parâmetros e eles são listados; o problema é só na gravação do registro.

Obrigado.
24/10/2011 19:37



Ainda não faz parte da comunidade???

Para se registrar, clique aqui.


Aprenda Groovy e Grails com a Formação itexto!

Newsletter Semana Groovy

Assinar

Envie seu link!


Livro de Grails


/dev/All

Os melhores blogs de TI (e em português) em um único lugar!

 
Creative Commons
RSS Grails Brasil é mantido por itexto Consultoria.
Em caso de problemas contacte Henrique Lobo Weissmann (Kico) por e-mail: kico@itexto.com.br
Todo o conteúdo presente neste site adota o Creative Commons como licença padrão.
Ver: 4.14.0
itexto