Delphi XE için SOAP sunucusu ve istemci uygulaması VCL + indy demo?


151

Delphi, web Hizmetleri için bir demolar klasörü içeriyordu, ancak artık bunu içermiyor gibi görünüyor.

Sadece Delphi 7 demo projelerini denedim ( SOAPDMServerWADneredeyse hiç kullanıcı arayüzü olmayan bir sunucu ve SOAPDMClient) ve Delphi 7'de bile işlev görmelerini sağlayamadım.

Delphi XE veya Delphi 2010'da benzer bir demo çalışması yapan biri varsa, Delphi XE'de SOAPDMServerWAD+SoapDMClientçalışan ve en azından Delphi SOAP Server uygulama sihirbazından gelen en az UI ile eski demolarla aynıdır , bu mükemmel olurdu.

Güncelleme: Demo Delphi 2010'a kadar görünüyor, ancak şimdi kullanılmayan WAD (web-app-debugger) kullanıyor, yeni Indy'ye aktarmaya çalıştım runtime/web-app-development-harnessing-code, ama çalıştıramadım. Demo çalışıyor, ancak sunucunun Kullanıcı arabirimi yok ve herhangi bir HTTP sunucusu çalıştırmıyor gibi görünüyor (normal bir web tarayıcısı kullanılarak http://localhost:port/URL'ler aracılığıyla test edildi . Bu arada, bir demo için googling yapmayı deneyin ve bu url ortaya çıkıyor ve Bir saatten az bir süre önce sordum, çok korkutucu, google.

Güncelleme2 Aşağıda kendi cevabımı görüyorum , yakında çalışma koduyla bir bağlantı geliyor.


3
Birkaç ay önce Delphi'de oldukça basit bir SOAP istemcisi oluşturmak zorunda kaldım, oldukça baş ağrısı ve üretkenlik kaybı olduğunu kanıtladım, bu arada alternatif aramayı öneriyorum.
ComputerSaysNo

13
@Dorin - WSDL aktarıcısını kullanarak bir SOAP istemcisi oluşturmak çok kolaydır.
Robert Love

8
@Robert baş ağrısı veren kısım değil, dokümantasyon ve demoların eksikliği vb. Basit bir müşteri için SOAP hakkında çok fazla şey öğrenmek zorunda kaldım, bu bana çok fazla hizmet etmedi, anladığımdan Java çok daha kolay ama denemedim => Ben delphi die-hard bir kullanıcıyım.
ComputerSaysNo

5
en kolay sabun .net wcf
gizli

5
Edn.embarcadero.com/article/40973 adresinde bir eğitici video bulunmaktadır . İlgili?
Alex

Yanıtlar:


39

CodeCentral üzerinde SOAP için demolar setini 28789 olarak yayınladım .

Bunlar WebServices, artık eski WAD sunucularını yeni INDY VCL sunucularına dönüştürme de dahil olmak üzere Delphi XE ve XE2 için güncellenen klasördeki Delphi 2007 dönemi SOAP demolarının her birini içerir . Bunun etkileyici olduğunu düşünürdünüz, ama değil. Gerçekten çok kolay. Yeni bir proje oluşturmak için sihirbazı kullanın ve ardından web hizmeti arabirimini ve uygulama birimlerini ve eski demoda yer alan diğer birimleri projeye ekleyin. Projeye eklendikten sonra, sadece çalışırlar. Temel demo SOAP Sunucularının Delphi'de oluşturulması gerçekten kolaydır, çalışan bir demoya sahip olduğunuzda, değiştirmenin ve genişletmenin oldukça kolay olduğunu göreceksiniz.

Yukarıda sorduğum soruyu en iyi yanıtlayan demo SOAPDataModulealt klasördedir.

2007 dönemindeki demo ile ilgili temel sorunlar iki:

  1. WAD (web uygulaması hata ayıklayıcısı) gitti. en uygun demo amaçları için, demo amaçları için pek ideal olmayan IIS altında WAD (gitti) veya ISAPI ortamını kurmanıza izin vermemek için Indy sunucusunu kullanarak yeni bir sunucu oluşturmanız gerekir. Yaptığım yeni demo projesine SoapDMServerINDY deniyor ve bir veri modülü (datamod_u.pas), bir VCL formu Kullanıcı Arabirimi birimi ( IndyServerVCLFormUnit.pas) ve bir Indy Server web modülünden oluşuyor IndyServerWebModule.pas.

  2. Delphi 2007 demosu, demo yürütülebilir dosyasının şu anda bulunduğu bir Debug / Win32 alt klasörüne sahip olmanın yeni uygulaması sayesinde kırıldı, daha da yukarı çıkmanız gerekiyor. Demo sunucusunu, veri dosyaları bulunamazsa sizi bir hata mesajı ile uyaracak ve sizi "XML ayrıştırma hatası" ndan kurtaracak şekilde sabitledim. Ayrıca, demoların bazılarında bazı hata denetimi ekledim, böylece bu demonun çalışması için interbase yüklemeniz gerektiğini söyler, çünkü bazı demolar Interbase'in kurulu ve çalışmasını gerektirir ve biri IBLOCAL adlı bir takma adın olmasını gerektirir, ve tercihen EMPLOYEEvar olmaya çağırılan bir tablo .

resim açıklamasını buraya girin

Bu demonun öğeleri bir sunucudur ( SOAPDMServerWAD koduna dayalı olarak SoapDMServerINDY) ve demoya bağlanan ve iki sayfaya sahip olan SOAPDMClient istemcisi , bir sayfa bir DBGrid + veri kümesi uzaklığı aracılığıyla temel veri erişimini gösterecek ve ikincisi sayfasında özel bir SOAP yönteminin nasıl çağrılacağı gösterilmektedir.

Demoyu kullanmak için: Sunucuyu başlatmanız, başlat düğmesini, ardından istemciyi başlatmanız ve Bağlan'ı tıklamanız gerekir.

resim açıklamasını buraya girin


1
Çaba için Bravo! Sabit demosu gönderemezseniz, bir fark / yama yapar mı?
Chris Thornton

8
Bu açık kaynak topluluğunun eski bir ilkesi; Kendi kaşıntıyı çizin ve sonuçları paylaşın ve umarım sadece herkese fayda sağlamaz, aynı zamanda zaman içinde tek başına yapamayacağımız şeyleri birlikte yapabilen bir topluluk oluşturur. Sorun bulursanız, lütfen bana hata raporları gönderin.
Warren P
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.