soap: SOAP client tools
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/
Modules
[Index]
Downloads
- soap-0.2.3.0.tar.gz [browse] (Cabal source package)
- Package description (as included in the package)
Maintainer's Corner
For package maintainers and hackage trustees
Candidates
- No Candidates
| Versions [RSS] | 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, 0.2.3.6 (info) |
|---|---|
| Change log | changelog |
| Dependencies | base (>=4 && <5), 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 | [email protected] |
| Category | Web |
| Home page | https://bitbucket.org/dpwiz/haskell-soap |
| Uploaded | by AlexanderBondarenko at 2016-05-07T07:51:38Z |
| Distributions | Debian:0.2.3.6 |
| Reverse Dependencies | 3 direct, 0 indirect [details] |
| Downloads | 16442 total (55 in the last 30 days) |
| Rating | 1.75 (votes: 1) [estimated by Bayesian average] |
| Your Rating | |
| Status | Docs available [build log] Last success reported on 2016-05-07 [all 1 reports] |