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 (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
Author Alexander Bondarenko
Maintainer aenor.realm@gmail.com
Stability Unknown
Category Web
Home page https://bitbucket.org/dpwiz/haskell-soap
Uploaded Sun Dec 18 08:04:07 UTC 2016 by AlexanderBondarenko
Distributions LTSHaskell:0.2.3.3, NixOS:0.2.3.3, Stackage:0.2.3.3, Tumbleweed:0.2.3.3
Downloads 3826 total (23 in the last 30 days)
Votes
0 []
Status Docs available [build log]
Last success reported on 2016-12-18 [all 1 reports]

Modules

[Index]

Downloads

Maintainer's Corner

For package maintainers and hackage trustees