Moduł WebService w istniejącym projekcie

0

Koledzy, mam pytanie związane z WebSevice. Wiem, że chcąc utworzyć nowy projekt-aplikację (nie CGI) obsługującą SOAP w Embarcadero XE3 wybieramy:

Menu | New | Other | WebService | SOAP Server Application -> Stand-alone VCL Application

Co jednak w przypadku kiedy chcę do już istniejącego projektu dodać WebService? Próbowałem poprzez dodanie do istniejącego projektu SOAP Server Data Module i SOAP Server Interface, ale nijak nie umiem tego spiąć ze sobą.

0

Ale co chcesz dodac? Stajesz prawym na inspektorze projektow i dodajesz (lub drag'n'drop dproj do uprzednio otwartego projektu).

To co opisales to tworzenie nowego serwera SOAP. W exe mozesz dodac definicje webservice poprzez WSDL (import)

0

Tak właśnie chcę zrobić - dodać serwer SOAP do istniejącego projektu, potem utworzyć WSDL'a i utworzyć np. w PHP wywoływanie metod. Wiem jak się dodaje komponenty ;) ale nie wiem które żeby taki serwer SOAP utworzyć.

0

to zrob tak. Zacznij od przygotowania folderow.
Np glowny - Main. Pozniej folder dla serwera np SOAP i dla klient np Client.

Tworzysz klienta SOAP - zwykly exe i zapisujesz do folderu Client.
Teraz tworzysz serwer SOAP : File > New > Other > drzewo Delphi Projects > WebServices > Soap server application.
Wygeneruj przykladowe metody. Zapisz w folderze SOAP.

Zamknij wszystkie projekty. Otworz projekt z folderu Client (*.dproj).
Jak sie zaladuje to pozniej view > Project manager. Pojawi sie okno managera projektow. bedzie tam jakis project group np ProjectGroup2. Prawy klawisz na najwyszym wezle i add existing project. Dodajesz projekt serwera SOAP.
I tak w jednym projekcie masz i exe ktory korzysta z SOAP i sam serwer SOAP.

0
crowa napisał(a):

Tworzysz klienta SOAP - zwykly exe i zapisujesz do folderu Client.
Teraz tworzysz serwer SOAP : File > New > Other > drzewo Delphi Projects > WebServices > Soap server application.
Wygeneruj przykladowe metody. Zapisz w folderze SOAP.

Napiszę raz jeszcze: mam już gotowy zrealizowany projekt, który ma xxxx linii kodu. Teraz pojawiła się potrzeba, aby ów projekt stał się również serwerem SOAP. Nie chcę od podstaw tworzyć nowego projektu "Soap server application" i kopiować wszystkich form, metod, klas, et cetera. Nie wiem jak Ci to dokładniej wyjaśnić :/

0

No to teraz napisales o co chodzi "w tym samym projekcie".
Po pierwsze korzystasz z wzorca class factory?
Jesli tak to bedzie latwiej. Klasa z ktorej chcesz exportowac metody musi dziedziczyc po TInvokableClass.
W sekcji uses dodajesz Soap.InvokeRegistry. W inicjalizacji unitu InvRegistry.RegisterInvokableClass(tutaj klasa).

Utworz sobie nowy serwer SOAP i porwnaj jakie sa roznice. na pewno httpbridge.

1 użytkowników online, w tym zalogowanych: 0, gości: 1