The soap package

[Tags:library, mit, test]

Tools to build SOAP clients using xml-conduit.

A mildly-complicated example:

 main = do
     -- Initial one-time preparations.
     certP <- clientCert "priv/client.crt" "priv/client.key"
     transport <- initTransport "https://example.com/soap/endpoint" certP (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 . unpack $ age)

Changelog

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)
Dependencies base (==4.*), bytestring, conduit, configurator, data-default, http-conduit (==1.9.*), http-types, iconv, mtl, resourcet, text, tls-extra, unordered-containers, xml-conduit, xml-conduit-writer, xml-types [details]
License MIT
Author Alexander Bondarenko
Maintainer aenor.realm@gmail.com
Category Web
Home page https://bitbucket.org/dpwiz/haskell-soap
Uploaded Mon Dec 23 10:12:22 UTC 2013 by AlexanderBondarenko
Distributions LTSHaskell:0.2.3.5, NixOS:0.2.3.5, Stackage:0.2.3.5, Tumbleweed:0.2.3.5
Downloads 4225 total (29 in the last 30 days)
Votes
0 []
Status Docs available [build log]
Successful builds reported [all 1 reports]
Hackage Matrix CI

Modules

[Index]

Downloads

Maintainer's Corner

For package maintainers and hackage trustees