-
Conteúdo Similar
-
Por Karlo Uchoa
Boa tarde meus amigos, Estou implementando uma integração entre um banco de dados local e outro na nuvem da Amazon. Estou com um problema sério aqui: ao fazer o Putclientes, por exemplo, ou seja, ao enviar ao servidor as alterações e inserções do Banco local, se, após um insert em lote na tabela da nuvem, o Result da função Put não conseguir retornar ao cliente rest que o chamou, por uma queda do link de internet, por exemplo, esses inserts já foram commitados na nuvem, mas os relacionamentos entre o código externo gerado e o código interno enviado, não pode ser concebida. Sendo assim, no próximo Put, os clientes sem a relação entre os códigos, serão inseridas novamente, gerando duplicidade de cadastros na nuvem. Meu problema é saber como commitar a transação na nuvem somente após o Result chegar ao cliente rest que fez a chamada. Alguém pode me ajudar com isso? -
Por bernal.rodrigo
Pessoal boa noite!!
Criei um servidor datasnap e to precisando de uma ajuda agora neste pondo do lado cliente.
No meu servidor tenho um Method que se chama GetVendas para pegar as vendas.
Porem agora ´preciso passar um período para retornar as vendas, ai que não estou conseguindo montar minha url.
estou fazendo desta maneira do lado do cliente:
Preciso saber como passar a data
RESTClient1.ResetToDefaults;
RESTRequest1.ResetToDefaults;
RESTResponse1.ResetToDefaults;
RESTClient1.BaseURL := 'http://localhost:8080/datasnap/rest/TVendaControl';
RESTRequest1.Resource := '/Venda/{Status}/{CodVendedor}/{DtIni}/{DtFim}';
RESTRequest1.Method := TRESTRequestMethod.rmGET;
RestRequest1.Params.AddItem('Status',inttostr(cbbStatus.ItemIndex), TRESTRequestParameterKind.pkURLSEGMENT);
RestRequest1.Params.AddItem('CodVendedor','', TRESTRequestParameterKind.pkURLSEGMENT);
Project GestorApp.exe raised exception class EHTTPProtocolException with message 'HTTP/1.1 500 Internal Server Error'.
---------------------------
Break Continue Help
---------------------------
Agradeço a todos e um forte abraço.
-
Por StraightFree
Senhores, bom dia!
Preciso da ajuda de vocês para tentar solucionar esse problema.
Sou programador Delphi e precisei fazer o acesso aos dados gerados pelo sistema desktop pela web.
Optei por utilizar o DataSnap para criar o WebService, por já ter mais familiaridade com a ferramenta.
Assim, comecei a fazer os testes para acessar o WebService através de um cliente HTML + AngularJS. Criei no DataSnap 4 webservice:
function Produto : TJSONArray; function updateProduto(AValue: TJSONObject) : TJSONObject; function acceptProduto(AValue: TJSONObject) : TJSONObject; function cancelProduto(AKey: String) : TJSONObject; O DataSnap faz o mapeamento automático para cada uma das funções de acordo com o método HTTP chamado na requisição, conforme abaixo:
Cliente Requisição DataSnap Chama a function GET Produto POST updateProduto PUT acceptProduto DELETE cancelProduto Se eu chamar os métodos através de um cliente Delphi chamado RestDebbuger (acompanha o delphi) ou um software de teste de webservice chamado SoapUI consigo acessar todas as funções do webservice sem nenhum problema.
Criei um cliente para consumir esses webservices em HTML e JavaScript/AngularJS, nesse cliente consigo consumir sem problemas os métodos GET e POST. No entanto, quando tento acessar o método PUT ou DELETE sempre me retorna um erro 500 no servidor. Fiz o debbug da aplicação Delphi após fazer a chamada pelo cliente AngularJS e percebi que não está chegando o método ao servidor e por isso ele dá um erro na requisição.
Chamando esse método pelo RestDebbuger e pelo SoapUI funciona normalmente.
Alguém saberia me dizer por qual motivo não consigo acessar esse método pelo angularJS?
Qualquer ajuda será muito bem vinda.
Obrigado!
-
Por Gene_sys
Boa tarde, estou tentando desenvolver um aplicativo para telão, lanços textos com imagens de fundo, no momento desejo fazer o mesmo com videos (backgrounds motions), para isso declaro no meu componente MediaPlayer.Display := MeuPanel; quando rodo o player ele sempre fica acima dos demais componentes que herdam do MeuPanel no meu caso labels.
Alguém pode me ajudar numa solução para o Media Player não saltar à frente (já tentei. MeuPanel. SendToBack e MeuLabel.BringToFront sem resultado)
tentei outras soluções também sem obter sucesso
declarei em meu form Principal
TransparentColor := True;
TransparentColorValue := clFuchsia;
dei esta cor ao panel e forma que ele fica vazado para a primeira janela abaixo dele, criar um novo formulário para Midia livre do primeiro (formstyle := fsMDIForm) posicionado exatamente na mesma posição do meu panel, inicializo meu form com
Application.CreateForm(TFrmMedia, FrmMedia);
FrmPrinciplal.BringToFront;
Mas contudo este formulário de mídia sempre salta afrente do meu principlal
alguém por favor dê uma opinião to testando tudo que me falarem
-
Por GutoZambon
Duas vagas de programador Delphi para Curitiba.
Nossos valores ficam entre R$4.200,00 e R$5.553,64. O contrato é CLT, trabalhamos das 08:00 as 18:00 de segunda a sexta, além desses valores temos VR, VA e plano de saúde.
Nosso sistema é um PDV com um ERP, desenvolvemos atualmente com o Delphi Berlin (tentamos nos manter o mais atualizado em todas as ferramentas que temos) e Sql Server 2014. Temos alguns projetos para Mobile com FireMonkey e datasnap, todo (ou pelo menos quase todo) nosso código segue conceitos de orientação a objetos (trabalhamos muito com interface, criação de classes e Patterns). No nosso dia a dia dentro do escritório trabalhamos com uma adaptação do Scrum utilizando o TFS para controlar as tarefas, cada Sprint, versionamento de código e testes. Hoje nossa equipe tem quatro programadores e duas pessoas de teste.
Interessados enviar e-mail para: augusto@noxautomacao.com.br
-