Package Info

ghc-soap


SOAP client tools


Development/Libraries/Haskell

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/&gt;.


License: MIT
URL: https://hackage.haskell.org/package/soap

Categories

Releases

Package Version Update ID Released Package Hub Version Platforms Subpackages
0.2.3.5-bp150.1.3 info GA Release 2018-07-30 15
  • AArch64
  • ppc64le
  • x86-64
  • ghc-soap
  • ghc-soap-devel