Switch branches/tags
Nothing to show
Find file
Fetching contributors…
Cannot retrieve contributors at this time
95 lines (67 sloc) 2.62 KB

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.


Build Status


Based on Savon and Nokogiri and provides a simple interface for accessing the eCircle WSDL synchronous API.

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://'



Ecircle.configure do |config|
  config.user     = ""
  config.realm    = ""
  config.password = "supersecret"

the WSDL settings are assumed to be

wsdl.document = ""
wsdl.endpoint = ""
wsdl.namespace = ""

but can be overridden in the configuration

Ecircle.configure do |config|
  config.wsdl.document = ""
  config.wsdl.endpoint = ""
  config.wsdl.namespace = "some new namespace"

Having configured the client, User retrieval is done via email or id:

user = Ecircle::User.find_by_email("")
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( "" )

But if the member should be deleted from the group again