Web Service Java consumido pelo Delphi

1 resposta
2

Bom dia Galera. Estou com um problema com o consumo de um webservice feito em java. Tenho uma aplicação java que faz toda interação com o banco de dados etc. Essa aplicação usa um frente de caixa, feito em Delphi, e essa estrutura não pode ser mudada.

A solução que encontramos para o delphi executar os métodos do java é através do webService, que já criei separadamente. Consigo consumir o webService pelo java sem problemas, mas o delphi não consegue. Meus retornos de métodos são todos primitivos, int, String e vetores de objetos java, que contem somente primitivos tb. O delphi até consome os métodos que retornam boolean somente, mas os que retornam um array de meus objetos, o array sempre chega vazio no delphi.

Eu não entendo muito de delphi, mas queria saber se existe algum bug, ou se tem alguma coisa específica que precisa ser feita.

Queria saber também se vcs conhecem algum tutorial/artigo sobre o assunto, pois já pesquisei bastante na net e acho pouca literatura sobre o assunto. Achei até que bastante coisa para fazer o contrario, webService delphi sendo consumido em java.

Desde já agradeço a atenção e aguardo uma resposta.

Atenciosamente,

Lázaro Prado

1 Resposta

M

Aqui, nossas aplicações são assim, já que estamos portando pra Java e começamos portando as regras de negócio.

Pra conseguir isso, os web services não puderam ser SOAP, mas RPC. Pras aplicações em Delphi 7, foi preciso ter o Service Pack 1 instalado, porque tinha um bug. Pras aplicações com Delphi 2005 ou 2007 (sim, aqui é uma zona de tecnologias), até conseguimos consumir web services com SOAP, mas por compatibilidade, usamos o RPC mesmo.

Pro caso de precisar retornar datasets, tivemos também de utilizar o xtream pra converter os formatos de xml. E o XML Transform do Delphi pra fazer a conversão pro formato de dataset que os objetos TClientDataset do Delphi reconhecem.

Pode parecer complexo, mas foi minha explicação. heheheh
No final das contas, fica muito simples e limpo do que muita aplicação nativa.

Criado 12 de julho de 2010
Ultima resposta 12 de jul. de 2010
Respostas 1
Participantes 2