haskell soap wsdl rpc

Servicios web SOAP en Haskell?



wsdl rpc (2)

Como HAIFA está muerto, ahora no hay marcos equivalentes para los servicios web SOAP en Haskell. Así que te aconsejo que uses algunos grupos de marcos. Puede ser Yesod + shoap será adecuado. Creo que tal tendencia en el dominio de los frameworks SOAP WS en Haskell se debe a la transición sin problemas a las tecnologías REST / JSON. También pueden ser estos dos artículos útiles para usted http://www.cin.ufpe.br/~haskell/hwsproxygen/files/HWSProxyGen.pdf y http://www.jofcis.com/publishedpapers/2010_6_9_2859_2867.pdf

Tengo que escribir un montón de pequeños servicios web. Deben ser definidos por un WSDL y funcionan a través de SOAP-RPC, para poder trabajar con un motor de flujo de trabajo existente y un marco de registro de servicios. Sin embargo, puedo servirlos en una pila / plataforma de servicios de mi elección.

Actualmente los estoy escribiendo en Java, y no es tan malo. Pero estoy pensando que mi vida podría ser más fácil si pudiera escribir estos servicios en Haskell. Buscando en Google, parece que, una vez, alguien más tuvo la misma idea y comenzó un proyecto llamado "HAIFA". Sin embargo, parece que HAIFA no se ha mantenido durante algunos años, y no pude encontrar ningún otro marco que respalde la prestación de servicios escritos en Haskell como servicios web SOAP.

¿Alguien sabe de algún otro marco que me permita escribir fácilmente servicios web basados ​​en SOAP utilizando Haskell?

De lo contrario, ¿alguien ha hecho esto manualmente (es decir, usar las bibliotecas XML de hackage para procesar las solicitudes soap-rpc entrantes y crear las respuestas compatibles con soap-rpc)? ¿Fue difícil de hacer? ¿Algún problema? ¿Valió la pena el esfuerzo?


Si solo necesita enviar mensajes vainilla XML / SOAP, probablemente podría simplemente abrir conexiones y leer / escribir Aeson. Pero si los servicios SOAP necesitan soporte WS-Security, WS-Addressing, etc., sería mejor utilizar un marco existente. Por ejemplo: https://metro.java.net/

Descargo de responsabilidad: he estado involucrado en Metro.

Sin embargo, sería genial tener un marco SOAP en Haskell.