The soap package

[Tags:library, mit, test]

Tools to build SOAP clients using xml-conduit.

A mildly-complicated example:

 import Network.SOAP
 import Network.SOAP.Transport.HTTP

 import Text.XML.Writer
 import Text.XML.Stream.Parse as Parse
 import           Data.Text (Text)
 import qualified Data.Text as T

 main :: IO ()
 main = do
     -- Initial one-time preparations.
     transport <- initTransport "http://example.com/soap/endpoint" id (iconv "cp-1251")

     -- Making queries
     activeStaff <- listStaff transport True
     print activeStaff

 data Person = Person Text Int deriving Show

 listStaff :: Transport -> Bool -> IO [Person]
 listStaff t active = invokeWS t "urn:dummy:listStaff" () body parser
     where
         body = element "request" $ element "listStaff" $ do
                    element "active" active
                    element "order" $ T.pack "age"
                    element "limit" (10 :: Int)

         parser = StreamParser $ force "no people" $ tagNoAttr "people" $ Parse.many parsePerson

         parsePerson = tagName "person" (requireAttr "age") $ \age -> do
                           name <- Parse.content
                           return $ Person name (read . T.unpack $ age)

Notice: to invoke HTTPS services you need to initialize a transport from soap-tls or soap-openssl.

Full examples available at source repo: https://bitbucket.org/dpwiz/haskell-soap/src/HEAD/soap/examples/

Properties

Versions 0.1.0.0, 0.1.0.1, 0.1.0.3, 0.1.0.4, 0.2.0.0, 0.2.0.2, 0.2.0.3, 0.2.0.4, 0.2.1.1, 0.2.1.2, 0.2.1.3, 0.2.2.0, 0.2.2.1, 0.2.2.2, 0.2.2.3, 0.2.2.4, 0.2.2.5, 0.2.2.6, 0.2.2.7, 0.2.3.0, 0.2.3.1, 0.2.3.2, 0.2.3.3, 0.2.3.4, 0.2.3.5 (info)
Change log changelog
Dependencies base (==4.*), bytestring, conduit, configurator, data-default, exceptions, http-client (>=0.2), http-types, iconv, mtl, resourcet, text, unordered-containers, xml-conduit, xml-conduit-writer, xml-types [details]
License MIT
Copyright (c) 2013-2017 Alexander Bondarenko
Author Alexander Bondarenko
Maintainer aenor.realm@gmail.com
Category Web
Home page https://bitbucket.org/dpwiz/haskell-soap
Uploaded Mon May 29 21:36:13 UTC 2017 by AlexanderBondarenko
Distributions LTSHaskell:0.2.3.5, NixOS:0.2.3.5, Stackage:0.2.3.5, Tumbleweed:0.2.3.5
Downloads 4218 total (42 in the last 30 days)
Votes
0 []
Status Docs available [build log]
Last success reported on 2017-05-29 [all 1 reports]
Hackage Matrix CI

Modules

[Index]

Downloads

Maintainer's Corner

For package maintainers and hackage trustees