O Delphi costumava incluir uma pasta de demos para serviços da Web, mas parece não incluir mais isso.
Eu apenas tentei os projetos de demonstração do Delphi 7 ( SOAPDMServerWAD
um servidor com quase nenhuma interface do usuário e SOAPDMClient
) e não consegui fazê-los funcionar, mesmo no Delphi 7.
Se alguém já fez um trabalho de demonstração semelhante no Delphi XE, ou no Delphi 2010, idêntico às SOAPDMServerWAD+SoapDMClient
demos antigas , trabalhando no Delphi XE, e com pelo menos a UI mínima que vem do assistente de aplicativo do Delphi SOAP Server, isso seria perfeito.
Atualização: A demo aparece até o Delphi 2010, mas usa o WAD (depurador de aplicativos da web) agora obsoleto. Tentei portá-lo para o novo Indy runtime/web-app-development-harnessing-code
, mas não consigo fazê-lo funcionar. A demonstração é executada, mas o servidor não possui interface com o usuário e não parece estar executando nenhum servidor HTTP (testado usando um navegador da Web comum, via http://localhost:port/
URLs. A propósito, tente pesquisar no Google por uma demonstração e esse URL será exibido , e Eu perguntei há menos de uma hora atrás, isso é assustador, google.
Atualização2 Veja minha própria resposta abaixo, um link estará disponível em breve com o código em funcionamento.
fonte
Respostas:
Publiquei o conjunto completo de demos para SOAP no CodeCentral como item 28789 .
Eles contêm todas as demos SOAP da era Delphi 2007 da
WebServices
pasta, agora atualizadas para Delphi XE e XE2, incluindo a conversão de servidores WAD antigos em novos servidores INDY VCL. Você pensaria que isso era impressionante, exceto que não é. É realmente fácil. Basta usar o assistente para criar um novo projeto e, em seguida, adicionar a interface de serviço da web e as unidades de implementação, e quaisquer outras unidades que pertençam à demonstração antiga, ao projeto. Uma vez adicionados ao projeto, eles simplesmente funcionam. Servidores SOAP de demonstração básica são realmente fáceis de construir no Delphi. Depois de ter uma demonstração funcional, você descobrirá que é muito fácil modificá-la e ampliá-la.A demonstração que melhor responde à pergunta que fiz acima está na
SOAPDataModule
subpasta.Os problemas básicos da demo da era de 2007 são dois:
O WAD (depurador de aplicativos da web) se foi. você precisa criar um novo servidor usando o servidor Indy, para fins de demonstração ideais, poupando-o de usar o WAD (que se foi) ou configurar o ambiente ISAPI, no IIS, o que dificilmente é ideal para fins de demonstração. O novo projeto de demonstração que desenvolvi é chamado SoapDMServerINDY , e consiste em um módulo de dados (datamod_u.pas), uma unidade de interface do usuário do formulário VCL (
IndyServerVCLFormUnit.pas
) e um módulo da web do Indy Server, chamadoIndyServerWebModule.pas
.A demo do Delphi 2007 foi interrompida graças à nova prática de ter uma subpasta Debug / Win32 na qual o executável da demo está agora, você precisa ir além. Corrigi o servidor de demonstração para avisá-lo com uma mensagem de erro se os arquivos de dados não puderem ser localizados, poupando-o do misterioso "erro de análise de XML". Também adicionei algumas checagens de erros em algumas das demos, para que ele diga que você precisa instalar o interbase para que esta demonstração funcione, já que algumas demos exigem que o Interbase esteja instalado e em execução e que um alias chamado IBLOCAL exista, e de preferência uma tabela chamada
EMPLOYEE
para existir.Os elementos desta demonstração são um servidor ( SoapDMServerINDY , com base no código de SOAPDMServerWAD) e o cliente SOAPDMClient que se conecta à demonstração e tem duas páginas, uma página mostrará o acesso básico aos dados por meio de um conjunto de dados remoto do DBGrid + e a segunda A página mostra como chamar um método SOAP customizado.
Para usar a demonstração: Você precisa iniciar o servidor, clique no botão Iniciar, inicie o cliente e clique em Conectar.
fonte