Mam niestandardowy serwer HTTP zbudowany w języku C#, który akceptuje żądania usług REST i odpowiada za pomocą XML lub JSON (w zależności od tego, co potrzeby klienta). Usługi REST są definiowane w środowisku wykonawczym z konfiguracji opartej na bazie danych, różnią się znacznie pod względem parametrów wejściowych i typów danych wyjściowych, a także sprawnie pracują podczas produkcji.Tworzenie i prezentowanie usługi SOAP i jej WSDL dynamicznie w języku C# (z niestandardowym detektorem TCP!)
Chciałbym jednak dodać dostęp SOAP do tych samych usług, z odpowiednimi plikami WSDL. Ponieważ dostępne usługi nie są zakodowane, to znaczy:
- Publikowanie WSDL wygenerowany przy starcie z definicjami metoda w bazie
- parsowania przychodzące żądania SOAP, mapowanie ich do tych definicji i upewniając wnioski są zgodne z podpisem metody przed zabiegiem im
- gdy odpowiedź jest obsługiwane, tworząc spotkanie odpowiedzi SOAP WDSL powrotu Wyniki
dokumentacja MS (i Google) dokumentów za pomocą Visual Studio do generowania stron internetowych servi cs (i WSDL) w czasie projektowania, eksponowanie rzeczy za pomocą WebMethods, ASP.NET MVC itd. Nie jest to tym, czego szukam, ponieważ nie istnieją definicje metod, z których można wygenerować wiązania w czasie projektowania.
Czy ktoś ma jakieś pomysły (np. Zestawy narzędzi do nieprzetworzonego parsowania SOAP) i myśli na temat generowania WSDL-ów z dynamicznie tworzonych sygnatur metod, itp.? Masz pojęcie, jak można budować takie rzeczy, jeśli nie? Staram się uniknąć ponownego wynalezienia koła, jeśli to możliwe.
PS: Najwyraźniej w systemie .NET istnieją standardowe elementy, ponieważ Visual Studio robi to za Ciebie - wszelkie pomysły na dostęp do tego na niższym poziomie w czasie wykonywania?
_ "Usługi REST są zdefiniowane w środowisku wykonawczym z konfiguracji opartej na bazie danych" _ - zadrżałem, kiedy to przeczytałem. Czy to nie jest piekło konserwacji i rozwiązywania problemów? – CodeCaster
Mam do czynienia z bardzo podobną sytuacją zastanawiającą się, czy zaakceptowana odpowiedź zadziałała dla ciebie –
np-hard - Zrobiłem proof-of-concept i zrobiłem to, co było zamierzone. Nie wyrzuciłem jednak niczego do produkcji, ponieważ na zasadzie proszenia klientów o wdrożenie usługi REST wydawało się bardziej niezawodnym wyborem niż ręczne parsowanie i wszelkie błędy, które mogą być wprowadzone przez złożony proces ręcznego analizowania żądań SOAP. –