Delphi zawierał folder demonstracyjny dla usług internetowych, ale wydaje się, że już go nie zawiera.
Właśnie wypróbowałem projekty demonstracyjne Delphi 7 ( SOAPDMServerWAD
serwer prawie bez interfejsu użytkownika i SOAPDMClient
) i nie byłem w stanie zmusić ich do działania, nawet w Delphi 7.
Jeśli ktokolwiek kiedykolwiek stworzył podobną wersję demonstracyjną w Delphi XE lub Delphi 2010, identyczną ze starymi SOAPDMServerWAD+SoapDMClient
wersjami demonstracyjnymi, pracującą w Delphi XE i przynajmniej z minimalnym interfejsem użytkownika pochodzącym z kreatora aplikacji Delphi SOAP Server, to byłoby idealne.
Aktualizacja: Wersja demonstracyjna pojawia się aż do Delphi 2010, ale używa przestarzałego WAD (debugera aplikacji internetowych). Próbowałem przenieść go do nowego Indy runtime/web-app-development-harnessing-code
, ale nie mogę go uruchomić. Wersja demonstracyjna działa, ale serwer nie ma interfejsu użytkownika i wygląda na to, że nie działa żaden serwer HTTP (testowano przy użyciu zwykłej przeglądarki internetowej za pośrednictwem http://localhost:port/
adresów URL. Swoją drogą, spróbuj wyszukać w Google wersję demonstracyjną. Pojawi się ten adres URL i Zapytałem mniej niż godzinę temu. To przerażające, Google.
Aktualizacja2 Zobacz moją własną odpowiedź poniżej, wkrótce pojawi się link z działającym kodem.
źródło
Odpowiedzi:
Opublikowałem komplet wersji demonstracyjnych dla SOAP w CodeCentral jako element 28789 .
Zawierają one wszystkie dema SOAP ery Delphi 2007 z
WebServices
folderu, teraz zaktualizowane dla Delphi XE i XE2, w tym konwersję starych serwerów WAD na nowe serwery INDY VCL. Można by pomyśleć, że to imponujące, ale tak nie jest. To naprawdę łatwe. Po prostu użyj kreatora, aby utworzyć nowy projekt, a następnie dodaj do projektu interfejs usługi sieciowej i jednostki implementacji oraz wszelkie inne jednostki należące do starej wersji demonstracyjnej. Po dodaniu do projektu po prostu działają. Podstawowe demo Serwery SOAP są naprawdę łatwe do zbudowania w Delphi. Kiedy już będziesz mieć działające demo, przekonasz się, że łatwo jest je modyfikować i rozszerzać.Demo, które najlepiej odpowiada na pytanie, które zadałem powyżej, znajduje się w
SOAPDataModule
podfolderze.Podstawowe problemy związane z wersją demo z ery 2007 to dwa:
WAD (debugger aplikacji internetowych) zniknął. musisz stworzyć nowy serwer przy użyciu serwera Indy, dla optymalnych celów demonstracyjnych, oszczędzając ci korzystania z WAD (którego już nie ma) lub konfigurowania środowiska ISAPI w IIS, które nie jest idealne do celów demonstracyjnych. Nowy projekt demonstracyjny, który stworzyłem, nazywa się SoapDMServerINDY i składa się z modułu danych (datamod_u.pas), jednostki interfejsu użytkownika formularza VCL (
IndyServerVCLFormUnit.pas
) oraz modułu internetowego Indy Server o nazwieIndyServerWebModule.pas
.Demo Delphi 2007 zepsuło się dzięki nowej praktyce posiadania podfolderu Debug / Win32, w którym znajduje się plik wykonywalny demo, musisz przejść dalej. Naprawiłem serwer demonstracyjny, aby ostrzegał Cię komunikatem o błędzie, jeśli nie można zlokalizować plików danych, oszczędzając Ci tajemniczego „błędu przetwarzania XML”. Dodałem również sprawdzanie błędów w kilku wersjach demonstracyjnych, aby poinformować Cię, że musisz zainstalować interbase, aby to demo działało, ponieważ niektóre dema wymagają zainstalowania i działania Interbase, a jeden wymaga aliasu o nazwie IBLOCAL, aby istnieć, a najlepiej tabeli powołanej
EMPLOYEE
do istnienia.Elementami tego demo są serwer ( SoapDMServerINDY , oparty na kodzie z SOAPDMServerWAD) oraz klient SOAPDMClient, który łączy się z wersją demonstracyjną i ma dwie strony, jedna strona pokaże podstawowy dostęp do danych poprzez zdalny dostęp do danych DBGrid +, a druga strona pokazuje, jak wywołać niestandardową metodę SOAP.
Aby skorzystać z wersji demonstracyjnej: Musisz uruchomić serwer, kliknąć przycisk Start, następnie uruchomić klienta i kliknąć Połącz.
źródło