Package maintainers and Hackage trustees are allowed to edit certain bits
of package metadata after a release, without uploading a new tarball.
Note that the tarball itself is never changed, just the metadata that is
stored separately. For more information about metadata revisions, please
refer to the
Hackage Metadata Revisions FAQ.
No. |
Time |
User |
SHA256 |
-r2 (soap-0.2.2.4-r2) |
2014-06-27T09:22:47Z |
AlexanderBondarenko |
2599e7a2bf2c9f599571acb194625003de1237fe2031a39113a7a83805c2884c
|
|
Changed description
from 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/tip/soap/examples/
to 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/tip/soap/examples/>
|
-r1 (soap-0.2.2.4-r1) |
2014-06-27T09:19:34Z |
AlexanderBondarenko |
f841c113b306082fbefd0922e09acde3f368e85aeb16155cb3c915b4a02ff06a
|
|
Changed description
from 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.
to 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/tip/soap/examples/
|
-r0 (soap-0.2.2.4-r0) |
2014-05-03T21:08:23Z |
AlexanderBondarenko |
636bfa069648fac650b88208f0ec3999bd01aa49a328933528ba89e7f3e4aefa
|
|
|