eCircle SOAP Client
Experimental code and not yet complete. Lots of testing are missing and functionality is limited. Simple things like creating and deleting users and groups is possible, but message creation and sending are not yet supported.
Intention is to provide a ActiveRecord/ActiveModel-like interface to the individual entities provided by the SOAP API. It's far from complete and you can only do a few selected things with this gem.
Currently only via bundle with:
gem 'ecircle_soap_client', :git => 'git://github.com/gorenje/ecircle_soap_client.git'
Ecircle.configure do |config| config.user = "email@example.com" config.realm = "http://example.com" config.password = "supersecret" end
the WSDL settings are assumed to be
wsdl.document = "http://webservices.ecircle-ag.com/soap/ecm.wsdl" wsdl.endpoint = "http://webservices.ecircle-ag.com/rpc" wsdl.namespace = "http://webservices.ecircleag.com/rpcns"
but can be overridden in the configuration
Ecircle.configure do |config| config.wsdl.document = "http://example.com/?wsdl" config.wsdl.endpoint = "http://blah.com" config.wsdl.namespace = "some new namespace" end
Having configured the client, User retrieval is done via email or id:
user = Ecircle::User.find_by_email("firstname.lastname@example.org") user = Ecircle::User.find_by_id("1234131")
Logon is handled automagically by the Ecircle::Client, however the caller is responsible for retrying requests if a Ecircle::Client::NotLoggedIn exception is raised. There no need to explicitly call Ecircle::Client#logon, the exception notifies the client that it's not longer logged in and needs to login before the next request.
Groups and Members
Having gotten a user, it's possible to find their memeberships of groups
groups = user.membership
Now a new user can be added to a group
member = groups.first.add_member Ecircle::User.create_by_email( "email@example.com" )
But if the member should be deleted from the group again