2012-10-15 15 views
33

Muszę napisać kilka małych serwisów internetowych. Muszą być zdefiniowane przez WSDL i pracować za pośrednictwem protokołu SOAP-RPC w celu pracy z istniejącym mechanizmem przepływu pracy i strukturą rejestru usług. Mogę jednak służyć im na stosie/platformie usługowej według własnego wyboru.Usługi sieciowe SOAP w Haskell?

Piszę je teraz w Javie i nie jest tak źle. Ale myślę, że moje życie byłoby łatwiejsze, gdybym mógł napisać te usługi w Haskell. Wyszukując w Google, wygląda na to, że ktoś inny wpadł na ten sam pomysł i rozpoczął projekt o nazwie "HAIFA". Wygląda jednak na to, że HAIFA nie była utrzymywana przez kilka lat i nie mogłem znaleźć żadnych innych frameworków obsługujących usługi napisane w Haskell jako usługi sieciowe SOAP.

Czy ktoś wie o innych frameworkach, które pozwolą mi w prosty sposób pisać usługi sieciowe oparte na SOAP przy użyciu Haskella?

Jeśli nie, czy ktoś zrobił to ręcznie (tj. Użył bibliotek XML z hackage do przetworzenia przychodzących żądań soap-rpc i utwórz odpowiedzi zgodne z soap-rpc)? Czy było to trudne? Jakieś gnojki? Czy to było warte wysiłku?

+0

pokrewne pytanie: http://stackoverflow.com/questions/9931410/haskell-which-soap-client-lib-to-use Wydaje się, że jesteś tutaj pecha ... – florent

+1

Dlaczego chcesz odejść od Javy, ma doskonałą obsługę i biblioteki dla serwisów internetowych (zrzeczenie się praw, nie korzystam z Javy ani nawet jej nie lubię, ale dla WS jest tam z C#). – johnharris85

Odpowiedz

6

Ponieważ HAIFA nie działa, teraz nie ma odpowiedników dla usług sieciowych SOAP w Haskell. Tak więc radziłbym użyć jakiegoś zestawu frameworków. Może być Yesod + Shoap będzie odpowiedni. Myślę, że taka tendencja w dziedzinie frameworków SOAP WS w Haskell z powodu płynnego przejścia do technologii REST/JSON. również mogą być te dwa artykuły będą przydatne dla Ciebie http://www.cin.ufpe.br/~haskell/hwsproxygen/files/HWSProxyGen.pdf i http://www.jofcis.com/publishedpapers/2010_6_9_2859_2867.pdf

-1

Jeśli wystarczy wysłać wiadomości wanilia XML/SOAP następnie można prawdopodobnie wystarczy otworzyć połączenia i odczytu/zapisu ajzon. Ale jeśli usługi SOAP wymagają obsługi WS-Security, WS-Address itp., Lepiej byłoby użyć istniejącej struktury. Na przykład: https://metro.java.net/

Nota prawna: Byłem zaangażowany w Metro.

Byłoby wspaniale mieć ramy SOAP w Haskell.

Powiązane problemy