com.ecircleag.webservices
Class EcMApi

Object
  extended by EcMApi
All Implemented Interfaces:
EcMSoapBridge, Remote

public class EcMApi
extends Object
implements EcMSoapBridge

Remote Interface to eC-Messenger.

This class is the base remote interface of eC-Messenger. It may be used directly or through further wrappers, e.g. SOAP via HTTP.

Even when used in additional wrapped API's, the documentation derived from this class represents the authoritative source of the method descriptions.

A typical use (Java Code) is as follows:

    // construct a connection. The object is created through interface specific operations
    EcMApi ecm = ....
    String session = ecm.logon(...);
    // example: look up a user in eC-M
    String userXML = ecm.lookupUserByEmail(session, "somename@somedomain.somewhere");
    if (userXML == null) {
       System.out.println("No Such User in eC-M");
    } else {
       User u = User.fromXML(userXML);   // java helper code available from eCircle
       System.out.println("User exists: " + u.getFirstname() + " " + u.getLastName());
    }
    ecm.logout(session);
 
The eC-Messenger entities User, Member, Group are uniquely identified by an ID (a String). They can be serialized as XML (see eCircle's W3C schema definitions). As in the example above, many methods use the serialized form to transfer this objects.

All methods are subject to eC-Messenger's permission system that checks the permission of the executor against the different entities and for the right to executeAction upon method execution.

There is a hardcoded session timout of 10 minutes build in.

Since:
31.05.2005
Version:
$Id: EcMApi.java 560 2014-01-09 11:36:11Z rsubik $
Author:
Bob Schulze schulze@ecircle-ag.com

Field Summary
static String EMAIL_ENCODING
           
 
Constructor Summary
EcMApi()
          If the Remote Java API is used, this constructor can be used to get a eC-M representation.
 
Method Summary
 void addSingleRelatedDataRecord(String session, String relatedDatasetId, String key, String[] colNames, String[] colValues)
          Adds a single record to a related data set key123 colNamesregdate colNamesproductId colValues2005-06-06 colValues1 An add call that will insert a row with key: 123 and columns: regdate, productId with values: 2005-06-06, 1
 boolean addToBlacklist(String session, String groupId, String email)
          Add a email to the system or group blacklist.
 void changeGroupSettings(String session, String groupId, String description, String prefix, String textFooter, String textHeader, String htmlFooter, String htmlHeader)
          Allows to change some basic properties of a group.
 String cloneGroup(String session, String templateGroupId, String newGroupEmail, String newGroupName, boolean keepOwner)
          Clone a existing group with all its settings and including all its priviledged users (managers).
 String copyAndSendDraftMessage(String session, String groupId, String messageId)
          Send a prepared message (a draft) to the group.
 String createMember(String session, String userId, String groupId, boolean invite, boolean sendMessage)
          Add a existing user to a existing group.
 String createOrUpdateGroup(String session, String groupXML)
          Create or update Group.
 String createOrUpdateUserByEmail(String session, String userXml, boolean sendMessage)
          Create or Update a Use in eC-Messenger.
 String createOrUpdateUserMemberByEmail(String session, String memberXml, String groupId, boolean sendMessage)
          This method is a combination of createUser(), createMember() and the respective update methods.
 String createUser(String session, String userXmlSpec)
          Create a new user in the system.
 boolean deleteGroup(String session, String groupId)
          Delete a group; this also deletes all memberships (Members).
 boolean deleteMember(String session, String memberId)
          Delete a Member (aka Membership).
 boolean deleteMessage(String session, String messageId)
          Delete a Message.
 int deleteRelatedDataRecords(String session, String relatedDatasetId, String key, String[] colNames, String[] colValues)
          Removes records from a related data set.
 boolean deleteUser(String session, String userId)
          Delete a User from the eC-Messenger system.
 void deleteUserByEmail(String session, String email)
          Delete a user given by its email.
 String[] findMembershipsByEmail(String session, String email)
          Find eC-Messenger group IDs in whose a user is a member.
 String[] findUserIdsByIdentifier(String session, String identifier)
          Find eC-Messenger users based on their Identifier.
 String getGroupId(String session, String email)
          Get the email of a group, provided its eC-Messenger ID.
 String getGroupProperty(String session, String gid, String name)
          Beside the standard properties (name, email and others), Groups can have properties (aka attributes) assigned that may be used within messages (placeholders, conditions).
 String getVersion()
          Public Method to obtain the API Version.
 boolean isEmailBouncedSystemwide(String session, String email)
          Check if email is bounced systemwide
 boolean isEmailOnSystemBlacklist(String session, String email)
          Check if email is entered in the system blacklist
 String logon(String realm, String user, String passwd)
          Log on by obtaining a session id, very much like a HTTP session to eC-Messenger.
 void logout(String session)
          Safely finish the obtained session.
 GroupCore[] lookupGroups(String session, GroupLookupParams lookupParams)
          Lookup groups.
 HourlyMessageStats[] lookupHourlyMessageStats(String session, String messageid, Calendar periodStartDate, Calendar periodEndDate)
          Returns message statistics aggregated by hours.
 String lookupMemberByEmail_v2_0(String session, String groupId, String email, boolean onlyActive)
          Find a Member.
 String lookupMemberByEmail(String session, String groupId, String email)
          Deprecated.  
 String lookupMemberById_v2_0(String session, String memberid, boolean onlyActive)
          Find a member given its member id.
 String lookupMemberById(String session, String memberid)
          Deprecated.  
 String lookupMemberByIdentifier(String session, String groupId, String identifier, boolean onlyActive)
          Find a member in eC-Messenger.
 String lookupMemberByMobileNumber(String session, String groupId, String mobile, boolean onlyActive)
          Lookup a Member by its mobile id .
 String lookupMemberByUserId_v2_0(String session, String groupid, String userId, boolean onlyActive)
          Look up a member.
 String lookupMemberByUserId(String session, String groupid, String userId)
          Deprecated.  
 MessageContent lookupMessageById(String session, String messageId)
          Lookup a message by its ID.
 MessageInfo[] lookupMessages(String session, MessageLookupParams lookupParams)
          Lookup messages.
 String lookupUserByEmail(String session, String email)
          Find a user in eC-Messenger.
 String lookupUserByFaxNumber(String session, String fax)
          Lookup a User by its fax number .
 String lookupUserById(String session, String userId)
          Lookup a User by its Id.
 String lookupUserByIdentifier(String session, String identifier)
          Find a user in eC-Messenger.
 String lookupUserByMobileNumber(String session, String mobile)
          Lookup a User by its mobile id .
 String lookupUserIdByEmail(String session, String email)
          Find a user id in eC-Messenger.
 String registerUser(String session, String userXmlSpec, boolean sendMessage)
          Register a new user in the system.
 boolean removeFromBlacklist(String session, String groupId, String email)
          Remove a email from the system or group blacklist
 void sendEmailToMe(String session, String subject, String message)
          Deprecated. without replacement. Use the sendSingleMessage*() methods instead.
 void sendGroupMessageToUser(String session, String groupid, String messageId, String userId)
          (Re-)sends a group message to an existing user.
 void sendParametrizedSingleMessageToUser(String session, String singleMessageId, String userId, String[] names, String[] values)
          Send one single message to a user.
 void sendPriorityParametrizedSingleMessageToUser(String session, String singleMessageId, String userId, String[] names, String[] values)
          Another version of sendParametrizedSingleMessageToUser() that sends through a internal high priority channel.
 void sendPrioritySingleMessageToUser(String session, String singleMessageId, String userId)
          Another version of sendSingleMessageToUser() that sends through a internal high priority channel.
 void sendSingleMessageToUser(String session, String singleMessageId, String userId)
          Send one single message to a user without any further personalization parameters.
 void setAsynchronous(String session, boolean asynchronous)
          Deprecated. without replacement.
 void setGroupProperty(String session, String gid, String name, String value)
          Beside the standard properties (name, email and others), Groups can have properties (aka attributes) assigned that may be used within messages (placeholders, conditions).
 void setMessageFormat(String session, String groupId, String userId, String messageFormat)
          Set the reception mode of a group member.
 boolean subscribeMemberByEmail(String session, String email, String groupId, boolean sendMessage)
          Subscribe a Member (aka Membership) by Email-Address.
 String subscribeOrRegisterUserMemberByEmail(String session, String userXmlSpec, String groupId, boolean sendMessage)
          This method is a combination of registerUser(), subscribeMemberByEmail() and the respective update methods.
 boolean unsubscribeMemberByEmail(String session, String email, String groupId, boolean sendMessage)
          Unsubscribe a Member (aka Membership) by Email-Address.
 boolean updateMember(String session, String memberXmlSpec)
          Updates a member as given in the spec.
 void updateRelatedDataRecord(String session, String relatedDatasetId, String key, String[] colNamesId, String[] colValuesId, String[] colNames, String[] colValues)
          An update call that will update a specified record(s) in related data.
 boolean updateUser(String session, String userXmlSpec)
          Update one user as given by its xml spec.
 boolean updateUserAttributesByEmail(String session, String email, String[] names, String[] values, boolean createUser)
          Update a users attributes in eC-Messenger.
 boolean updateUserByEmail(String session, String userXmlSpec)
          Update one user as given by its xml spec.
 
Methods inherited from class Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

EMAIL_ENCODING

public static final String EMAIL_ENCODING
See Also:
Constant Field Values
Constructor Detail

EcMApi

public EcMApi()
If the Remote Java API is used, this constructor can be used to get a eC-M representation.

Method Detail

logon

public String logon(String realm,
                    String user,
                    String passwd)
             throws EcMException
Log on by obtaining a session id, very much like a HTTP session to eC-Messenger.

A customer system is uniquely identified by its HTTP access url for interactive use.

The session timeout is about 4 minutes.

Note: the resulting session should be used as black box object. Altough it may look like a regular HTTP sessionid from an interactive session, this is neither garuanteed to stay like this nor it is true in all circumstances.

Specified by:
logon in interface EcMSoapBridge
Parameters:
realm - The customers web domain, for example http://customer.domain.invalid/ or https://customer.domain.invalid/
user - A existing eC-Messenger user name (a email address or mobile number)
passwd - The eC-Messenger Password.
Returns:
A session token to be used for the other methods of that api.
Throws:
EcMException

logout

public void logout(String session)
Safely finish the obtained session. It expires otherwise acc. to settings in eC-Messenger.

Specified by:
logout in interface EcMSoapBridge
Parameters:
session - A authenticated session id, obtained from logon(java.lang.String, java.lang.String, java.lang.String) .

setAsynchronous

public void setAsynchronous(String session,
                            boolean asynchronous)
                     throws EcMException
Deprecated. without replacement.

This method is deprecated and does not have any effect anymore.

Specified by:
setAsynchronous in interface EcMSoapBridge
Throws:
EcMException

createUser

public String createUser(String session,
                         String userXmlSpec)
                  throws EcMException
Create a new user in the system.
Permissions required on eC-M: user_login, user_view_details_all, user_add, user_add_no_message

Specified by:
createUser in interface EcMSoapBridge
Parameters:
session - A authenticated session id, obtained from logon(java.lang.String, java.lang.String, java.lang.String) .
userXmlSpec - The xml serialized user (u.toXML()).
Returns:
The newly created userid
Throws:
EcMException
See Also:
User

createOrUpdateUserByEmail

public String createOrUpdateUserByEmail(String session,
                                        String userXml,
                                        boolean sendMessage)
                                 throws EcMException
Create or Update a Use in eC-Messenger. A match is doen agains t the email address, which must be given here.
Note that very close calls for the same email address may lead to errors, because the updates may conflict with each other. Also, if the email is not yet in the database, for two simultaneous creations one may fail.

Specified by:
createOrUpdateUserByEmail in interface EcMSoapBridge
Parameters:
session - A authenticated session id, obtained from logon(java.lang.String, java.lang.String, java.lang.String) .
userXml - the xml describing the user, includes the email address. Must start with <user...
sendMessage - if true, a message is sent to the user that he go an account in the system. This message may contain the passwort for the system access.
Returns:
the user id (new of found) in eC-Messenger.
Throws:
EcMException

createOrUpdateUserMemberByEmail

public String createOrUpdateUserMemberByEmail(String session,
                                              String memberXml,
                                              String groupId,
                                              boolean sendMessage)
                                       throws EcMException
This method is a combination of createUser(), createMember() and the respective update methods. It will provide the user given by the email address and updates it with the given information. Additionally, the user is placed in the given group and its member attributes are updated too.

Specified by:
createOrUpdateUserMemberByEmail in interface EcMSoapBridge
Parameters:
session - session A authenticated session id, obtained from logon(java.lang.String, java.lang.String, java.lang.String) .
memberXml - a xml serialized member. The ID is not used here and the email attribute is mandatory
groupId - the group to add the user, after successfully adding it to the system
sendMessage - true if a notification message (about the new group membership) is to be send to the user. Note: No message is sent here about the users possibly new system account.
Returns:
the new or existing userId. Note, that the memberId may be build using the Utilities in the member object.
Throws:
EcMException - on Parameter errors, invalid sessions, execution problems or when the user email is on the blacklist

deleteUserByEmail

public void deleteUserByEmail(String session,
                              String email)
                       throws EcMException
Delete a user given by its email. Note that eC-Messengers Receipient addresses are unique by eMail _and_ id.
Permissions required on eC-M: user_login, user_delete_all

Specified by:
deleteUserByEmail in interface EcMSoapBridge
Parameters:
session - A authenticated session id, obtained from logon(java.lang.String, java.lang.String, java.lang.String) .
email - The users email to be dropped from the system.
Throws:
EcMException - if the deletion fails
See Also:
deleteUser(String, String)

lookupUserByEmail

public String lookupUserByEmail(String session,
                                String email)
                         throws EcMException
Find a user in eC-Messenger.
Permissions required on eC-M: user_login, user_view_details_all

Specified by:
lookupUserByEmail in interface EcMSoapBridge
Parameters:
session - A authenticated session id, obtained from logon(java.lang.String, java.lang.String, java.lang.String) .
email - The email to be used for finding the unique user.
Returns:
the user as xml serialized String or null, if there is no such user.
Throws:
EcMException
See Also:
User

lookupUserIdByEmail

public String lookupUserIdByEmail(String session,
                                  String email)
                           throws EcMException
Find a user id in eC-Messenger.
Permissions required on eC-M: user_login, user_view_details_all

Specified by:
lookupUserIdByEmail in interface EcMSoapBridge
Parameters:
session - A authenticated session id, obtained from logon(java.lang.String, java.lang.String, java.lang.String) .
email - The email to be used for finding the unique user.
Returns:
the user id as a String or null, if there is no such user.
Throws:
EcMException - on any backend failure

updateUserAttributesByEmail

public boolean updateUserAttributesByEmail(String session,
                                           String email,
                                           String[] names,
                                           String[] values,
                                           boolean createUser)
                                    throws EcMException
Update a users attributes in eC-Messenger.
Permissions required on eC-M: user_login, user_view_details_all, user_add, user_add_no_message

Specified by:
updateUserAttributesByEmail in interface EcMSoapBridge
Parameters:
session - A authenticated session id, obtained from logon(java.lang.String, java.lang.String, java.lang.String) .
email - The email to be used for finding the unique user.
names - String array containing the names of the user attributes. prefix named attributes with "namedattr_"
values - String array containing the values for the attributes. Must have the same order than "names"
createUser - if true, creates a user if email/user does not exist.
Returns:
true on sucessful update, else false
Throws:
EcMException - on backend exceptions

lookupUserByIdentifier

public String lookupUserByIdentifier(String session,
                                     String identifier)
                              throws EcMException
Find a user in eC-Messenger.
Permissions required on eC-M: user_login, user_view_details_all

Specified by:
lookupUserByIdentifier in interface EcMSoapBridge
Parameters:
session - A authenticated session id, obtained from logon(java.lang.String, java.lang.String, java.lang.String) .
identifier - The user identifier for finding the unique user. If multiple users have the same identifier, the first match is delivered
Returns:
the user as xml serialized String or null, if there is no such user.
Throws:
EcMException - on any ecm problem or a parsing problem
See Also:
User

getGroupId

public String getGroupId(String session,
                         String email)
                  throws EcMException
Get the email of a group, provided its eC-Messenger ID.

Specified by:
getGroupId in interface EcMSoapBridge
Parameters:
session - A authenticated session id, obtained from logon(java.lang.String, java.lang.String, java.lang.String) .
email - the email of the group
Returns:
the email or null, if there is no group with this id.
Throws:
EcMException

lookupUserByMobileNumber

public String lookupUserByMobileNumber(String session,
                                       String mobile)
                                throws EcMException
Lookup a User by its mobile id .
Permissions required on eC-M: user_login, user_view_details_all

Specified by:
lookupUserByMobileNumber in interface EcMSoapBridge
Parameters:
session - A authenticated session id, obtained from logon(java.lang.String, java.lang.String, java.lang.String) .
mobile - the mobile number
Returns:
the xml spec of that user or null, if there is no such user.
Throws:
EcMException
See Also:
User

lookupMemberByMobileNumber

public String lookupMemberByMobileNumber(String session,
                                         String groupId,
                                         String mobile,
                                         boolean onlyActive)
                                  throws EcMException
Lookup a Member by its mobile id .
Permissions required on eC-M: user_login, user_view_details_all, member_view

Specified by:
lookupMemberByMobileNumber in interface EcMSoapBridge
Parameters:
session - A authenticated session id, obtained from logon(java.lang.String, java.lang.String, java.lang.String) .
groupId - The group to search for
mobile - the mobile number
onlyActive - if true, only retrieve active members (e.g. no pending or aspirant members)
Returns:
the xml spec of that member or null, if there is no such member.
Throws:
EcMException
See Also:
Member

lookupUserByFaxNumber

public String lookupUserByFaxNumber(String session,
                                    String fax)
                             throws EcMException
Lookup a User by its fax number .
Permissions required on eC-M: user_login, user_view_details_all

Specified by:
lookupUserByFaxNumber in interface EcMSoapBridge
Parameters:
session - A authenticated session id, obtained from logon(java.lang.String, java.lang.String, java.lang.String) .
fax - the fax number
Returns:
the xml spec of that user or null, if there is no such user.
Throws:
EcMException
See Also:
User

lookupMessageById

public MessageContent lookupMessageById(String session,
                                        String messageId)
                                 throws EcMException
Lookup a message by its ID.

Specified by:
lookupMessageById in interface EcMSoapBridge
Parameters:
session - A authenticated session id, obtained from logon(java.lang.String, java.lang.String, java.lang.String) .
messageId -
Returns:
the xml spec of that message or null, if there is no such message.
Throws:
EcMException
See Also:
MessageContent

lookupMessages

public MessageInfo[] lookupMessages(String session,
                                    MessageLookupParams lookupParams)
                             throws EcMException
Lookup messages. The search criteria are specified via the given MessageLookupParams object. Only messages are returned for which the currently logged in user has the permission message_view. NOTE: The number of messages returned by this method is limited to the number of records specified in the batchSize property of the given MessageLookupParams. If no value has been specified, a default value of 50 is used.

Specified by:
lookupMessages in interface EcMSoapBridge
Parameters:
session - an authenticated session id, obtained from logon(java.lang.String, java.lang.String, java.lang.String).
lookupParams - parameters expressing the search criteria for the lookup.
Returns:
an array of MessageInfo objects.
Throws:
EcMException - any exception is wrapped into this one
See Also:
MessageLookupParams

lookupGroups

public GroupCore[] lookupGroups(String session,
                                GroupLookupParams lookupParams)
                         throws EcMException
Lookup groups. The search criteria are specified via the given GroupLookupParams object. Only groups are returned for which the currently logged in user has the permission NOTE: The number of groups returned by this method is limited to the number of records specified in the batchSize property of the given GroupLookupParams. If no value has been specified, a default value of 50 is used.

Specified by:
lookupGroups in interface EcMSoapBridge
Parameters:
session - an authenticated session id, obtained from logon(java.lang.String, java.lang.String, java.lang.String).
lookupParams - parameters expressing the search criteria for the lookup.
Returns:
an array of GroupCore objects.
Throws:
EcMException - any exception is wrapped into this one
See Also:
GroupLookupParams

createMember

public String createMember(String session,
                           String userId,
                           String groupId,
                           boolean invite,
                           boolean sendMessage)
                    throws EcMException
Add a existing user to a existing group.
Permissions required on eC-M: user_login, user_view_details_all, member_add, member_add_no_message, member_invite

Specified by:
createMember in interface EcMSoapBridge
Parameters:
session - A authenticated session id
userId - The user to be a member of the group
groupId - The group to be member in
invite - If true, a invitation message is sent. The receiver is a member only after reponding to that message.
sendMessage - if true, the group specific "you are added" message will be sent out. This switch has no meaning if invite is true (because the receipient anyhow gets a message). Specific permissions are required to add members without notifying them.
Returns:
The new Member Id.
Throws:
EcMException - Permission or IO exception throws AlreadyMemberException if the user is already member of the group.

lookupUserById

public String lookupUserById(String session,
                             String userId)
                      throws EcMException
Lookup a User by its Id.
Permissions required on eC-M: user_login, user_view_details_all

Specified by:
lookupUserById in interface EcMSoapBridge
Parameters:
session - A authenticated session id, obtained from logon(java.lang.String, java.lang.String, java.lang.String) .
userId - the userid within eC-M
Returns:
the xml spec of that user or null, if there is no such user.
Throws:
EcMException

lookupMemberByEmail

public String lookupMemberByEmail(String session,
                                  String groupId,
                                  String email)
                           throws EcMException
Deprecated. 

Find a Member. A member is a unique user in a group.
Note: The first arg after session denotes the GROUPID !
Permissions required on eC-M: user_login, user_view_details_all, member_view

Specified by:
lookupMemberByEmail in interface EcMSoapBridge
Parameters:
groupId - The group to search for
email - the user id.
session - A authenticated session id, obtained from logon(java.lang.String, java.lang.String, java.lang.String) .
Returns:
the xml serialized member or null, if there is no such member.
Note: A member id consists of userid and groupid!
Throws:
EcMException - on Parameter or Communication Problems
See Also:
Member

lookupMemberByEmail_v2_0

public String lookupMemberByEmail_v2_0(String session,
                                       String groupId,
                                       String email,
                                       boolean onlyActive)
                                throws EcMException
Find a Member. A member is a unique user in a group. Note: The first arg after session denotes the GROUPID !
Permissions required on eC-M: user_login, user_view_details_all, member_view

Specified by:
lookupMemberByEmail_v2_0 in interface EcMSoapBridge
Parameters:
groupId - The group to search for
email - the user id.
session - A authenticated session id, obtained from logon(java.lang.String, java.lang.String, java.lang.String) .
onlyActive - if true, only retrieve active members (e.g. no pending or aspirant members)
Returns:
the xml serialized member or null, if there is no such member.
Note: A member id consists of userid and groupid!
Throws:
EcMException - on Parameter or Communication Problems
See Also:
Member

lookupMemberById

public String lookupMemberById(String session,
                               String memberid)
                        throws EcMException
Deprecated. 

Find a member given its member id.
Permissions required on eC-M: user_login, user_view_details_all, member_view Note: A member id is constructed of userid and groupid.

Specified by:
lookupMemberById in interface EcMSoapBridge
Parameters:
session - A authenticated session id, obtained from logon(java.lang.String, java.lang.String, java.lang.String) .
memberid - the id in question
Returns:
a member id or null, if there is no such user.
Throws:
EcMException - on Parameter or Communication Problems
See Also:
Member.buildMemberId(String, String)

lookupMemberById_v2_0

public String lookupMemberById_v2_0(String session,
                                    String memberid,
                                    boolean onlyActive)
                             throws EcMException
Find a member given its member id.
Permissions required on eC-M: user_login, user_view_details_all, member_view Note: A member id is constructed of userid and groupid.

Specified by:
lookupMemberById_v2_0 in interface EcMSoapBridge
Parameters:
session - A authenticated session id, obtained from logon(java.lang.String, java.lang.String, java.lang.String) .
memberid - the id in question
onlyActive - if true, only retrieve active members (e.g. no pending or aspirant members)
Returns:
a member id or null, if there is no such user.
Throws:
EcMException - on Parameter or Communication Problems
See Also:
Member.buildMemberId(String, String)

lookupMemberByIdentifier

public String lookupMemberByIdentifier(String session,
                                       String groupId,
                                       String identifier,
                                       boolean onlyActive)
                                throws EcMException
Find a member in eC-Messenger.
Permissions required on eC-M: user_login, user_view_details_all

Specified by:
lookupMemberByIdentifier in interface EcMSoapBridge
Parameters:
session - A authenticated session id, obtained from logon(java.lang.String, java.lang.String, java.lang.String) .
groupId - The group to search for
identifier - The user identifier for finding the one user. If multiple users have the same identifier, the first match is delivered
onlyActive - if true, only retrieve active members (e.g. no pending or aspirant members)
Returns:
the user as xml serialized String or null, if there is no such user.
Throws:
EcMException
See Also:
User

findUserIdsByIdentifier

public String[] findUserIdsByIdentifier(String session,
                                        String identifier)
                                 throws EcMException
Find eC-Messenger users based on their Identifier. For an Identifier, special attribute rules apply within eC-M (not to be confused with "id"). Its possible that more than one user has the given identifier assigned.

Specified by:
findUserIdsByIdentifier in interface EcMSoapBridge
Parameters:
session - A authenticated session id, obtained from logon(java.lang.String, java.lang.String, java.lang.String) .
identifier - The user identifier for finding the user.
Returns:
none, one or more users.
Throws:
EcMException - on any eC-M related problem, such as a Permission problem.

findMembershipsByEmail

public String[] findMembershipsByEmail(String session,
                                       String email)
                                throws EcMException
Find eC-Messenger group IDs in whose a user is a member.

Specified by:
findMembershipsByEmail in interface EcMSoapBridge
Parameters:
session - A authenticated session id, obtained from logon(java.lang.String, java.lang.String, java.lang.String).
email - the email of the user in question.
Returns:
none, one or more group IDs.
Throws:
EcMException - on any eC-M related problem, such as a Permission problem.

lookupMemberByUserId

public String lookupMemberByUserId(String session,
                                   String groupid,
                                   String userId)
                            throws EcMException
Deprecated. 

Look up a member. A member is a user in a group. A Member has additional group specific attributes. Note: The first arg after session denotes the GROUPID !
Permissions required on eC-M: user_login, user_view_details_all, member_view

Specified by:
lookupMemberByUserId in interface EcMSoapBridge
Parameters:
session - A authenticated session id, obtained from logon(java.lang.String, java.lang.String, java.lang.String) .
groupid - The eC-M internal group id
userId - The eC-M internal user id
Returns:
the xml serialized member spec or null if there is not such a member.
Throws:
EcMException - on Parameter or Communication Problems
See Also:
Member

lookupMemberByUserId_v2_0

public String lookupMemberByUserId_v2_0(String session,
                                        String groupid,
                                        String userId,
                                        boolean onlyActive)
                                 throws EcMException
Look up a member. A member is a user in a group. A Member has additional group specific attributes. Note: The first arg after session denotes the GROUPID !
Permissions required on eC-M: user_login, user_view_details_all, member_view

Specified by:
lookupMemberByUserId_v2_0 in interface EcMSoapBridge
Parameters:
session - A authenticated session id, obtained from logon(java.lang.String, java.lang.String, java.lang.String) .
groupid - The eC-M internal group id
userId - The eC-M internal user id
onlyActive - if true, only retrieve active members (e.g. no pending or aspirant members)
Returns:
the xml serialized member spec or null if there is not such a member.
Throws:
EcMException - on Parameter or Communication Problems
See Also:
Member

updateMember

public boolean updateMember(String session,
                            String memberXmlSpec)
                     throws EcMException
Updates a member as given in the spec. It will update the underlaying user attributes too.
Permissions required on eC-M: user_login, user_view_details_all, member_view user_change_settings_all

Specified by:
updateMember in interface EcMSoapBridge
Parameters:
session - A authenticated session id, obtained from logon(java.lang.String, java.lang.String, java.lang.String) .
memberXmlSpec - a xml serialized member
Returns:
true if the update succeeds.
Throws:
EcMException - on Parameter or Communication Problems
See Also:
Note: A member id consists of userid and groupid!

updateUser

public boolean updateUser(String session,
                          String userXmlSpec)
                   throws EcMException
Update one user as given by its xml spec. The user is identified by its id.
Permissions required on eC-M: user_login, user_view_details_all user_change_settings_all

Specified by:
updateUser in interface EcMSoapBridge
Parameters:
session - A authenticated session id, obtained from logon(java.lang.String, java.lang.String, java.lang.String) .
userXmlSpec - a xml serialized user.
Returns:
true if the update happened. This is a indication of the backend, but no sign that data has actually changed. If this is required, pls check the user before and after that operation.
Throws:
EcMException - on Parameter errors or communication problems

updateUserByEmail

public boolean updateUserByEmail(String session,
                                 String userXmlSpec)
                          throws EcMException
Update one user as given by its xml spec. The user is identified by its email, which must be part of the XML. As a consequence, this method does not allow to change the users email address.
Permissions required on eC-M: user_login, user_view_details_all user_change_settings_all

Specified by:
updateUserByEmail in interface EcMSoapBridge
Parameters:
session - A authenticated session id, obtained from logon(java.lang.String, java.lang.String, java.lang.String) .
userXmlSpec - a xml serialized user.
Returns:
true if the update happened. This is a indication of the backend, but no sign that data has actually changed. If this is required, pls check the user before and after that operation.
Throws:
EcMException - on Parameter errors or communication problems

deleteUser

public boolean deleteUser(String session,
                          String userId)
                   throws EcMException
Delete a User from the eC-Messenger system. This includes all properties and statistical data.
Permissions required on eC-M: user_login, user_view_details_all, user_delete_all, member_remove

Specified by:
deleteUser in interface EcMSoapBridge
Parameters:
session - A authenticated session id, obtained from logon(java.lang.String, java.lang.String, java.lang.String) .
userId - The eC-Messenger internal userid.
Returns:
true if the user was really deleted. A false indicates that nothing happened, which means the user probably did not exist before. A failing deletion would otherwise lead to an Exception.
Throws:
EcMException - on Parameter or Communication Problems

deleteMember

public boolean deleteMember(String session,
                            String memberId)
                     throws EcMException
Delete a Member (aka Membership).
Permissions required on eC-M: user_login, user_view_details_all, member_remove

Specified by:
deleteMember in interface EcMSoapBridge
Parameters:
session - A authenticated session id, obtained from logon(java.lang.String, java.lang.String, java.lang.String) .
memberId - The Member id as obtains by other API methods.
Returns:
true if the deletion was successful. May return false if there was no such membership anyway.
Throws:
EcMException - on Parameter or Communication Problems
See Also:
Note: A member id consists of userid and groupid

subscribeOrRegisterUserMemberByEmail

public String subscribeOrRegisterUserMemberByEmail(String session,
                                                   String userXmlSpec,
                                                   String groupId,
                                                   boolean sendMessage)
                                            throws EcMException
This method is a combination of registerUser(), subscribeMemberByEmail() and the respective update methods. It will provide the user given by the email address and updates it with the given information. Additionally, the user is placed in the given group and its member attributes are updated too. Action is counted as self-registration/subscription of a user - no matter if this method is executed by the user itself or not.
Permissions required on eC-M: user_login, user_add, user_add_no_message, user_view_details_all, member_add, system_view_system

Specified by:
subscribeOrRegisterUserMemberByEmail in interface EcMSoapBridge
Parameters:
session - A authenticated session id, obtained from logon(java.lang.String, java.lang.String, java.lang.String)
userXmlSpec - The xml serialized user (u.toXML()).
sendMessage - if true a confirmation message will be send to the member
Returns:
The newly created userId
Throws:
EcMException - on Parameter or Communication Problems
See Also:
User

subscribeMemberByEmail

public boolean subscribeMemberByEmail(String session,
                                      String email,
                                      String groupId,
                                      boolean sendMessage)
                               throws EcMException
Subscribe a Member (aka Membership) by Email-Address. Unlike createMember(), this is counted as self-subscription of a user - no matter if this method is executed by the user itself or not.
Permissions required on eC-M: user_login, system_view_system, user_view_details_all, user_add, user_add_no_message, member_add

Specified by:
subscribeMemberByEmail in interface EcMSoapBridge
Parameters:
session - A authenticated session id, obtained from logon(java.lang.String, java.lang.String, java.lang.String)
email - The email address of the member
groupId - The id of the group to subscribe to
sendMessage - if true a confirmation message will be send to the member
Returns:
true if the subscription was successful
Throws:
EcMException - on Parameter or Communication Problems

registerUser

public String registerUser(String session,
                           String userXmlSpec,
                           boolean sendMessage)
                    throws EcMException
Register a new user in the system. Unlike createUser(), this is counted as self-registration of a user - no matter if this method is executed by the user himself or not.
Permissions required on eC-M: user_login, user_view_details_all, user_add, user_add_no_message

Specified by:
registerUser in interface EcMSoapBridge
Parameters:
session - A authenticated session id, obtained from logon(java.lang.String, java.lang.String, java.lang.String) .
userXmlSpec - The xml serialized user (u.toXML()).
sendMessage - if true a confirmation message will be send to the member
Returns:
The newly created userId
Throws:
EcMException - on Parameter or Communication Problems
See Also:
User

unsubscribeMemberByEmail

public boolean unsubscribeMemberByEmail(String session,
                                        String email,
                                        String groupId,
                                        boolean sendMessage)
                                 throws EcMException
Unsubscribe a Member (aka Membership) by Email-Address. Unlike deleteMember(), this is counted as self-unsubscription of a user - no matter if this method is executed by the user itself or not.
Permissions required on eC-M: user_login, user_view_details_all, member_remove

Specified by:
unsubscribeMemberByEmail in interface EcMSoapBridge
Parameters:
session - A authenticated session id, obtained from logon(java.lang.String, java.lang.String, java.lang.String) .
email - The email address of the member
groupId - The groupId from which the member should be unsubscribed.
sendMessage - if true a confirmation message will be send to the member
Returns:
true if the deletion was successful. May return false if there was no such membership anyway.
Throws:
EcMException - on Parameter or Communication Problems

deleteMessage

public boolean deleteMessage(String session,
                             String messageId)
                      throws EcMException
Delete a Message.
Permissions required on eC-M: user_login, message_delete_own, message_save_as_draft

Specified by:
deleteMessage in interface EcMSoapBridge
Parameters:
session - A authenticated session id, obtained from logon(java.lang.String, java.lang.String, java.lang.String) .
messageId - The message id as obtains by other API methods.
Returns:
true if the deletion was successful. May return false if there was no such message anyway.
Throws:
EcMException - on Parameter or Communication Problems

cloneGroup

public String cloneGroup(String session,
                         String templateGroupId,
                         String newGroupEmail,
                         String newGroupName,
                         boolean keepOwner)
                  throws EcMException
Clone a existing group with all its settings and including all its priviledged users (managers).
Permissions required on eC-M: user_login, create_group, group_view_system, group_change_settings, member_add_no_message, member_add

Specified by:
cloneGroup in interface EcMSoapBridge
Parameters:
session - A authenticated session id, obtained from logon(java.lang.String, java.lang.String, java.lang.String) .
templateGroupId - The groupid of the group to copy
newGroupEmail - The emailof the new group. This must be an allowed address for this customer system.
newGroupName - The group name as it appears in the catalog of eC-Messenger
keepOwner - If true, the owner of the new group is the one from the cloned group. Otherwise the executor is assigned to be the owner.
Returns:
The new group id.
Throws:
EcMException - If group creation fails, possibly trough a permission problem.
Since:
1.7.2

changeGroupSettings

public void changeGroupSettings(String session,
                                String groupId,
                                String description,
                                String prefix,
                                String textFooter,
                                String textHeader,
                                String htmlFooter,
                                String htmlHeader)
                         throws EcMException
Allows to change some basic properties of a group.

Specified by:
changeGroupSettings in interface EcMSoapBridge
Parameters:
session - A authenticated session id, obtained from logon(java.lang.String, java.lang.String, java.lang.String) .
groupId - the id of the group
description - A new Description String
prefix - A new prefix String. This is prefixed to all messages.
textFooter - The footer text for text parts of messages
textHeader - The header text for text parts of messages
htmlFooter - The footer text for html parts of messages
htmlHeader - The header text for html parts of messages
Throws:
EcMException
Since:
1.8

setGroupProperty

public void setGroupProperty(String session,
                             String gid,
                             String name,
                             String value)
                      throws EcMException
Beside the standard properties (name, email and others), Groups can have properties (aka attributes) assigned that may be used within messages (placeholders, conditions). This method allows to set or to overwrite one property.

Specified by:
setGroupProperty in interface EcMSoapBridge
Parameters:
session - A authenticated session id, obtained from logon(java.lang.String, java.lang.String, java.lang.String) .
gid - groupId of the group
name - A case insensitive name of the property
value - the new value
Throws:
EcMException
Since:
1.8

getGroupProperty

public String getGroupProperty(String session,
                               String gid,
                               String name)
                        throws EcMException
Beside the standard properties (name, email and others), Groups can have properties (aka attributes) assigned that may be used within messages (placeholders, conditions). This method allows to retrieve one property.

Specified by:
getGroupProperty in interface EcMSoapBridge
Parameters:
session - A authenticated session id, obtained from logon(java.lang.String, java.lang.String, java.lang.String) .
gid - groupId of the group
name - A case insensitive name of the property
Returns:
the value of the property or null
Throws:
EcMException
Since:
1.12

setMessageFormat

public void setMessageFormat(String session,
                             String groupId,
                             String userId,
                             String messageFormat)
                      throws EcMException
Set the reception mode of a group member. This mode defines if/how a recipient gets a message in the various delivery channels. A String "ALLOW:mobile;PREFER:email" would prefer email over mobile, but would not deny it if the author should choose to send a SMS. (messageFormat is known as readMode to old eC-M users)

Specified by:
setMessageFormat in interface EcMSoapBridge
Parameters:
session - A authenticated session id, obtained from logon(java.lang.String, java.lang.String, java.lang.String) .
groupId - the group where we set the readmode for the recipient
userId - the userid of the member
messageFormat - A messageFormat String in the form (ALLOW|DENY|PREFER):(email|mobile|fax)[;...]
Throws:
Exception - on Permission or Format Spec problems.
EcMException

copyAndSendDraftMessage

public String copyAndSendDraftMessage(String session,
                                      String groupId,
                                      String messageId)
                               throws EcMException
Send a prepared message (a draft) to the group. Usually this this is the group where the messages was originally prepared. The original draft stays untouched. The message is prepared using eC-Messengers interactive User Interface. Note all group settings (Password protection or moderation) apply. Beside appropriate permissions, the executor must have credit to exercize the sendout.
Permissions required on eC-M:: user_login, message_post, system_email_write

Specified by:
copyAndSendDraftMessage in interface EcMSoapBridge
Parameters:
session - A authenticated session id, obtained from logon(java.lang.String, java.lang.String, java.lang.String) .
groupId - the group (of recipients) that should receive that message
messageId - the messageId of the draft message
Returns:
the messageId of the newly created message.
Throws:
EcMException

sendSingleMessageToUser

public void sendSingleMessageToUser(String session,
                                    String singleMessageId,
                                    String userId)
                             throws EcMException
Send one single message to a user without any further personalization parameters.

Specified by:
sendSingleMessageToUser in interface EcMSoapBridge
Parameters:
session - A authenticated session id, obtained from logon(java.lang.String, java.lang.String, java.lang.String) .
singleMessageId - Id of message in EcMessenger
userId - Id of the user
Throws:
EcMException
See Also:
sendParametrizedSingleMessageToUser(String, String, String, String[], String[])

sendPrioritySingleMessageToUser

public void sendPrioritySingleMessageToUser(String session,
                                            String singleMessageId,
                                            String userId)
                                     throws EcMException
Another version of sendSingleMessageToUser() that sends through a internal high priority channel. The availability of this channel depends on your agreement with eCircle.

Specified by:
sendPrioritySingleMessageToUser in interface EcMSoapBridge
Throws:
EcMException
See Also:
sendSingleMessageToUser(String, String, String)

sendParametrizedSingleMessageToUser

public void sendParametrizedSingleMessageToUser(String session,
                                                String singleMessageId,
                                                String userId,
                                                String[] names,
                                                String[] values)
                                         throws EcMException
Send one single message to a user. For safety reasons eC-M distinguishes between Group Messages and Single message. The latter one can be send to a single user only.

As a side effect after executing this method, the user is in the group where this message belongs to. If group specific personalizations are required, the user should be part of this group beforehand.

This method allows to add arbitrary placeholders for further message individualization. These placeholdes can be used in the message: >% parameter.XXX %< will be replaced by values[0] if names[0] contains "XXX".

Permissions required on eC-M:: user_logon, prepared_message_view, message_post

Specified by:
sendParametrizedSingleMessageToUser in interface EcMSoapBridge
Parameters:
session - A authenticated session id, obtained from logon(java.lang.String, java.lang.String, java.lang.String) .
singleMessageId - The messageId of the single-message to send; within eC-Messenger such a message is known as a Single-Message (as opposed to a group message).
names - A string array comprising the names of the placeholdes. Correspondends to the values array
values - This String array contains the values for the placeholders named in the names array.
userId - The user that should get the message.
Throws:
EcMException
Since:
1.10

sendPriorityParametrizedSingleMessageToUser

public void sendPriorityParametrizedSingleMessageToUser(String session,
                                                        String singleMessageId,
                                                        String userId,
                                                        String[] names,
                                                        String[] values)
                                                 throws EcMException
Another version of sendParametrizedSingleMessageToUser() that sends through a internal high priority channel. The availability of this channel depends on your agreement with eCircle.

Specified by:
sendPriorityParametrizedSingleMessageToUser in interface EcMSoapBridge
Throws:
EcMException
See Also:
sendPriorityParametrizedSingleMessageToUser(String, String, String, String[], String[])

sendGroupMessageToUser

public void sendGroupMessageToUser(String session,
                                   String groupid,
                                   String messageId,
                                   String userId)
                            throws EcMException
(Re-)sends a group message to an existing user. Note that the user is not nessesarily member of the group and therefore, no group related personalization (member-Attributes) can be used here.
Permissions required on eC-M: user_logon, group_message_post

Specified by:
sendGroupMessageToUser in interface EcMSoapBridge
Parameters:
session - session A authenticated session id, obtained from logon(java.lang.String, java.lang.String, java.lang.String) .
groupid - The group that the message belongs to
messageId - The messageid
userId - the userid of the recipient. It must be known in the system therefore.
Throws:
EcMException

deleteGroup

public boolean deleteGroup(String session,
                           String groupId)
                    throws EcMException
Delete a group; this also deletes all memberships (Members).
Permissions required on eC-M: user_login, group_delete

Specified by:
deleteGroup in interface EcMSoapBridge
Parameters:
session - A authenticated session id, obtained from logon(java.lang.String, java.lang.String, java.lang.String) .
groupId - The group to be deleted
Returns:
true if deletion was successfully initiated.
Throws:
EcMException

sendEmailToMe

public void sendEmailToMe(String session,
                          String subject,
                          String message)
                   throws EcMException
Deprecated. without replacement. Use the sendSingleMessage*() methods instead.

This method does not work anymore and is here only for API compatibility.

Specified by:
sendEmailToMe in interface EcMSoapBridge
Throws:
EcMException

addToBlacklist

public boolean addToBlacklist(String session,
                              String groupId,
                              String email)
                       throws EcMException
Add a email to the system or group blacklist.

Specified by:
addToBlacklist in interface EcMSoapBridge
Parameters:
session - A authenticated session id, obtained from logon(java.lang.String, java.lang.String, java.lang.String) .
groupId - a group id or *. If a groupId is specified, the given email address is added to the groups blacklist. If groupId is *, the given email is added to the system blacklist.
email - the email address to be added to the blacklist
Returns:
true if the blacklist addition was successful. Note that a asynchronous cleanup will follow.
Throws:
EcMException

isEmailOnSystemBlacklist

public boolean isEmailOnSystemBlacklist(String session,
                                        String email)
                                 throws EcMException
Check if email is entered in the system blacklist

Specified by:
isEmailOnSystemBlacklist in interface EcMSoapBridge
Parameters:
session - A authenticated session id, obtained from logon(java.lang.String, java.lang.String, java.lang.String)
email - the email address to be looked up on the blacklist
Returns:
true, if the email is indeed on the system wide blacklist
Throws:
EcMException

isEmailBouncedSystemwide

public boolean isEmailBouncedSystemwide(String session,
                                        String email)
                                 throws EcMException
Check if email is bounced systemwide

Specified by:
isEmailBouncedSystemwide in interface EcMSoapBridge
Parameters:
session - A authenticated session id, obtained from logon(java.lang.String, java.lang.String, java.lang.String)
email - the email address to be looked up
Returns:
true if the email is bounces system-wide (not only group specific)
Throws:
EcMException

removeFromBlacklist

public boolean removeFromBlacklist(String session,
                                   String groupId,
                                   String email)
                            throws EcMException
Remove a email from the system or group blacklist

Specified by:
removeFromBlacklist in interface EcMSoapBridge
Parameters:
session - A authenticated session id, obtained from logon(java.lang.String, java.lang.String, java.lang.String) .
groupId - a group id or *. If a groupId is specified, the given email address is removed from the groups blacklist. If groupId is *, the given email is removed from the system blacklist.
email - the email address to be removed from the blacklist
Returns:
true, if the recipient was successfully removed from the blacklist
Throws:
EcMException

createOrUpdateGroup

public String createOrUpdateGroup(String session,
                                  String groupXML)
                           throws EcMException
Create or update Group. Group definition must be passed as XML.

Specified by:
createOrUpdateGroup in interface EcMSoapBridge
Parameters:
session - A authenticated session id, obtained from logon(java.lang.String, java.lang.String, java.lang.String) .
groupXML - Group definition as defined in element "<group>" of schema http://webservices.ecircle-ag.com/ecm
Returns:
groupId of created/updated group or null
Throws:
EcMException

lookupHourlyMessageStats

public HourlyMessageStats[] lookupHourlyMessageStats(String session,
                                                     String messageid,
                                                     Calendar periodStartDate,
                                                     Calendar periodEndDate)
                                              throws EcMException
Returns message statistics aggregated by hours. This method returns an array of HourlyMessageStats objects. The result length is determined by the number of hours between the specified start and end date.

Specified by:
lookupHourlyMessageStats in interface EcMSoapBridge
Parameters:
session - an authenticated session id, obtained from logon(java.lang.String, java.lang.String, java.lang.String).
messageid - the message id as obtained by other API methods.
periodStartDate - the start date of the period.
periodEndDate - the end date of the period. The maximum length of the period is 48 hours.
Returns:
an array of HourlyMessageStats objects.
Throws:
EcMException - any exception is wrapped into this one.

addSingleRelatedDataRecord

public void addSingleRelatedDataRecord(String session,
                                       String relatedDatasetId,
                                       String key,
                                       String[] colNames,
                                       String[] colValues)
                                throws EcMException
Adds a single record to a related data set
key123
colNamesregdate
colNamesproductId
colValues2005-06-06
colValues1
An add call that will insert a row with key: 123 and columns: regdate, productId with values: 2005-06-06, 1

Specified by:
addSingleRelatedDataRecord in interface EcMSoapBridge
Parameters:
session - an authenticated session id, obtained from logon(java.lang.String, java.lang.String, java.lang.String).
relatedDatasetId - the id of the related data set
key - the key to store columns inside the related data set
colNames - a array of column names
colValues - a array of column values, ordering must match colNames array
Throws:
EcMException - if data could not be written

updateRelatedDataRecord

public void updateRelatedDataRecord(String session,
                                    String relatedDatasetId,
                                    String key,
                                    String[] colNamesId,
                                    String[] colValuesId,
                                    String[] colNames,
                                    String[] colValues)
                             throws EcMException
An update call that will update a specified record(s) in related data. It can be used for unique and non unique lists. Record(s) which will match specified key, colNamesId and colValuesId will be updated with given colValues. When record of nonunique list is not specified enough (several records match), the update takes place for all matched records.

Specified by:
updateRelatedDataRecord in interface EcMSoapBridge
Parameters:
session - an authenticated session id, obtained from logon(java.lang.String, java.lang.String, java.lang.String).
relatedDatasetId - the id of the related data set
key - the key to store columns inside the related data set
colNamesId - an array of column names, which will be used to find record(s) for updating
colValuesId - an array of values, which will be used to find record(s) for updating. Ordering and size must match colNamesId array
colNames - an array of column names
colValues - an array of column values. Ordering and size must match colNames array
Throws:
EcMException - if data could not be written

deleteRelatedDataRecords

public int deleteRelatedDataRecords(String session,
                                    String relatedDatasetId,
                                    String key,
                                    String[] colNames,
                                    String[] colValues)
                             throws EcMException
Removes records from a related data set.

colNames and colValues can be empty or null, but if you provide any, they have to match in length values will be deleted only if they exactly match stored data if they are empty or null, all records matching the given key will be deleted

keyreg_idProduct
123ZSDF1234DSC-1234
123ZLKJJ123DSC-1234
123LSKDFG09VAIO-12
456KJ234894DSC-1234
A delete call that only mentions the key would remove three rows:
delete(key=123, colNames="", colValues ="")
This would remove two rows:
delete(key=123, colNames="Product", colValues ="DSC-1234")
And this would remove only a single row:
delete(key=123, colNames="reg_id", colValues ="ZSDF1234")

Specified by:
deleteRelatedDataRecords in interface EcMSoapBridge
Parameters:
session - an authenticated session id, obtained from logon(java.lang.String, java.lang.String, java.lang.String).
relatedDatasetId - the id of the related data set
key - the key to remove columns inside the related data set from
colNames - an array of column names,
colValues - an array of column values, ordering must match colNames array
Throws:
EcMException - if data could not be deleted

getVersion

public String getVersion()
Public Method to obtain the API Version.

Specified by:
getVersion in interface EcMSoapBridge
Returns:
A static String in the format


© 2004..2009, eCircle AG, Version: 1.71 (${buildNumber})