Active Sync - What attributes to set in UserMap

I am have written an active sync adapter for MySQL Table. I am not sure what attributes to add in the user map object that is passed in the list of updates.
I get the following error:
The result of submitting the message - com.waveset.exception.FormValidation: Validation errors detected in form.
My Code is as follows:
private List getUpdateRows(Map lastProcessedRow) throws WavesetException {
final String method = "getUpdateRows";
TRACE.entry3(method);
Connection conn = getConnection();
ResultSet rslt = null;
Statement stmt = null;
List listOfUpdatedUsers = new ArrayList();
String query = "select id, password, first_name, last_name, email, department, users_event.event " +
" from users, users_event " +
"where users_event.updated = 0 and users.id = users_event.user_id";
try {
stmt = conn.createStatement();
rslt = stmt.executeQuery(query);
if(null == rslt) {
Message msg = new Message("NULL resultset returned on query execution");
throw new WavesetException(msg);
while(rslt.next()) {
HashMap userMap = new HashMap();
userMap.put("name", rslt.getString(1));
userMap.put("password", rslt.getString(2));
userMap.put(AA_FIRST_NAME, rslt.getString(3));
userMap.put(AA_LAST_NAME, rslt.getString(4));
userMap.put("email", rslt.getString(5));
userMap.put(AA_DEPARTMENT, rslt.getString(6));
if("delete".equals(rslt.getString(7))) {
userMap.put(ATTR_IS_DELETED, "true");
listOfUpdatedUsers.add(userMap);
} catch (Exception e) {
Message msg = new Message("Unable to get list of updated rows " + e.getMessage());
throw new WavesetException(msg);
} finally {
TRACE.exit3(method);
return listOfUpdatedUsers;
* Take a list of Maps that are rows of the audit data and turn them
* into IAPI calls.
* @param list - a List of Map objects from getUpdateRows.
protected int processUpdates(List list)
throws WavesetException, IAPIException {
final String METHOD = "processUpdates";
TRACE.entry2( METHOD );
int numProcessed = 0;
if (list != null) {
final int listSize = list.size();
util.logString(IAPI.TRACELEVEL_INFO,
"processUpdates: " +
listSize +
" elements.\n" );
int currentRowCount = 0;
Iterator it = list.iterator();
while (it.hasNext() && !_util.isStopRequested()) {
Map userMap = (Map)it.next();
++currentRowCount;
// Announce our intentions with the current row, and
// which row is being processed.
logUpdate(IAPI.TRACE_LEVEL_INFO,userMap,null);
util.logString( IAPI.TRACELEVEL_INFO,
"processing update " +
currentRowCount +
" of " +
listSize +
".\n");
// Build the event
Map options = new HashMap();
// Check for any required attributes, which are either
// not in the schema map, or are the names on the left hand side
// of the schema map.
String identity = (String)userMap.get("name");
util.logString( IAPI.TRACELEVEL_INFO, "processing update Identity = " + identity + ".\n");
if (identity == null){
String message = "Missing required attribute name. " +
"This is a configuration problem.";
// If an error message can be safely ignored, namely it
// is not a problem communicating with the resource, use
// the resources's "CONTINUE_ON_ERROR" setting to determine
// whether to skip the entry, or throw an exception.
if ( isFeatureEnabled(Features.CONTINUE_ON_ERROR) ){
util.logString( IAPI.TRACELEVEL_WARNING,
message );
continue;
} else {
throw new WavesetException(message);
// If deletes aren't detected by a resource, the following
// block should be removed.
boolean wasDelete = false;
if ( userMap.get(ATTR_IS_DELETED) != null ){
// If the event was detected as a delete, flag it as such
// in the options.
options.put(IAPI.OPTION_DELETE_EVENT_DETECTED, Boolean.TRUE);
wasDelete = true;
util.logString( IAPI.TRACELEVEL_INFO, "About to process userMap \n");
// IAPIFactory will use the resource configuration, options,
// and userMap provided to create the event.
IAPI event = IAPIFactory.getIAPI(options, userMap, this);
util.logString( IAPI.TRACELEVEL_INFO, "Retrieved event object after processing userMap \n");
// If deletes aren't detected by a resource, the following
// block should be removed.
if ( (event == null) && wasDelete ){
// identity is used here as an example, replace with
// whatever identifying attribute or attributes are
// appropriate for the resource.
util.logString(IAPI.TRACELEVEL_INFO,
"Received delete for user " +
identity +
" not in IdM. Ignoring.\n");
if (event != null) {
++numProcessed;
event.setLogger(_util.getLogger());
WavesetResult result = event.submit(); //This method returns an error message
util.logString( IAPI.TRACELEVEL_INFO, " The result of submitting the message - " + result.getErrorMessage());
// Log the result of submitting the current event.
logUpdate(IAPI.TRACE_LEVEL_INFO,userMap,result);
} // else nothing to do with the current row.
TRACE.exit2(METHOD, numProcessed);
return numProcessed;
Please let me know the list of attributes that need to be set in the userMap objects.
Thanks

It looks like that the information than goe through ActiveSync form. Examples of such forms are at /homeDir/idm-staging/samples. More information can be found in documenatation Sun™ Identity Manager 8.0
Workflows, Forms, and Views.
Martin

Similar Messages

  • Exchange active sync - multiple problems

    I am having some serious issues with Exchange Active Sync. I just set up 2 new accounts from scratch - both using EAS. One is a gmail (for apps) account and another is a hotmail account. The google account I have set up to sync only emails and the hotmail account I set up for emails and contacts.
    The gmail account is not pulling anything but the latest email in my inbox, even though I set it to "No limit" under mail days to sync.
    The hotmail account is only pulling 764 contacts out of 1278 that I have on hotmail.
    Both seem to be stuck in this state no matter what I do.
    Any ideas? I am using iPhone 3GS with iOS 4.1.
    update: just sent myself a test message and it looks like the emails got sync-ed properly. the contacts issue persists. i created a new contact on hotmail and it sync-ed just fine, but there are many contacts on hotmail that are not coming through to the phone.
    Message was edited by: rpmm

    I've been looking into this for about a year off and on. More recently it seems to be iPads/iPhones that are the worst. Even the latest iOS 5.x. It does seem to be people who travel a lot and/or jump on/off wireless a lot.
    Deleting the device partnership does at least for a short time, resolve it in most cases.
    I have a little script I run against the logs to show top user syncs. Basically, they do sync constantly all day and night up to 80,000+ hits per day on the ActiveSync frontend server (Exchange 2003), which is about every second or two. I know of a couple of people who got new phones because there battery was dying like crazy. It was just the sync problem killing them.
    Anyone else have any info regarding WHEN this starts happening for a device?
    It also happens with Android and Windows phones. It may be worse on iDevices for us because a lot of the people traveling have iPhones and/or iPads.

  • Provision user to a resource when a LDAP attribute is set to true by active

    HI,
    I have the following requirement
    When a particular attribute in LDAP is set to true then we have to pick it by the active sync process and provision the user in another resource.
    Can any one let me know how to go about this.

    I'd do it like this:
    Create a business role "SomeRole" that includes an IT-Role that includes the target resource.
    In the activeSync form, assign this role depending on the LDAP attribute:
    <Field name='waveset.roles'>
      <Expansion>
        <cond>
          <eq>
            <ref>accounts[LDAP].thisParticularAttribute</ref>
            <s>true</s>
          </eq>
         <s>SomeRole</s> <!-- you will need to append the role to the list if the user already has roles, otherwise all roles will be overwritten by this single value -->
         <ref>waveset.roles</ref>
        </cond>
      </Expansion>
    </Field>

  • What is the Active Sync functionality? Also, what is the Priority Hub?

    What is the  Active Sync functionality in the Blackberry Q5?
    Also. I would like to know how to make sure that my emails are displayed promptly, i.e., that there is no lag...Would there be some sort of priority setting like the Priority Hub (I wonder what the Priority Hub is)
    Thanks

    http://en.wikipedia.org/wiki/Exchange_ActiveSync
    EAS is the best way to get email along with PIM sync options.
    Its push email sort of but with a heart beat to mail server
    about Priority hub
    http://docs.blackberry.com/en/smartphone_users/deliverables/55574/mwa1372084676021.jsp
    Click here to Backup the data on your BlackBerry Device! It's important, and FREE!
    Click "Accept as Solution" if your problem is solved. To give thanks, click thumbs up
    Click to search the Knowledge Base at BTSC and click to Read The Fabulous Manuals
    BESAdmin's, please make a signature with your BES environment info.
    SIM Free BlackBerry Unlocking FAQ
    Follow me on Twitter @knottyrope
    Want to thank me? Buy my KnottyRope App here
    BES 12 and BES 5.0.4 with Exchange 2010 and SQL 2012 Hyper V

  • When working on document in numbers and saving it I then try to open on iPad. It is not syncing what do I have to do after using on Mac to then be able to upload on iPad.  I have set cloud up and it works with keynote

    When working on document in numbers and saving it I then try to open on iPad. It is not syncing what do I have to do after using on Mac to then be able to upload on iPad.  I have set cloud up and it works with keynote

    Welcome to the Apple Community.
    I have seen previous versions mentioned in a pop up message before on iCloud.com, but I'm not really sure at all how it would help, as I couldn't get it to do anything.
    The best advice I have at this time is to back up your work on your iOS device by regularly saving it to iTunes, if anything goes wrong you can then either load it into the numbers app again on the device or recover it via iTunes on your computer.
    My syncs are immediate, I never get chance to see if it works in the background, sorry.

  • Cannot Set Exchange Active Sync Email Account ot Default

    OK, I am having a problem setting the Default Email Account as Exchange Active Sync. I am seeing this in iPhone and IPad both running 6.1.2. The Active Sync Mail account is installed on both devices and works fine. The problem is I am unable for some reason to change the Default Email Account from iCloud to the Exchange Active Sync Account installed. When I select the option to change Default Email Account, iCloud is there and checked however the Active Sync Account does not even show up as a selectable option here. Please help! Thanks

    Hi Flipper507,
    Im having the same issue on a couple of devices. I am unable to select my exchange mail on my iphone 5 on ios 6.1.2 but on a colleague of mines iphone 4 we are able to select it. he is also on 6.1.2. on my iphone 5 it also not shows up as an option.
    Would like to hear a solution for this.
    Kind regards

  • What is the default Win2000 Active Directory Object Attribute definition for adding users? I'm using the 4.1 Netscape Directory SDK

    The Netscape/NDS AddUser implements inetOrgPerson, and some other objects/Attributes not implemented in Active Directory Object Attributes, and I receive errors about the Attributes. Could you tell me the correct Attribute definition for the default DS, to add a user?

    Unsure what you mean. iDS 5 implements the inetOrgPerson as of the RFC. It is made of 4 objects top, person, organizationPerson and inetOrgPerson. The user object in MAD using many more MS specifi attributes in the top class. (53 extras)

  • Role updation during Flat File Active Sync

    Hi
    I have defined a role which assigns default values to some attributes for a particular resource.
    And this role am assigning it to the user in the Flat File Active Sync form during user creation.
    But the problem is the attribute-values defined in the Role are not getting updated in the user data during the creation process. The next time there is an update, the values get reflected.
    I want this to be reflected during the first creation process itself. Please let me know what changes needs to be done in the following code -
    <Field name='accounts[Lighthouse].roles'>
    <Expansion>
    <filterdup>
    <appendAll>
         <ref>accounts[Lighthouse].roles</ref>
    <s>Initial-Provision-Role</s>
    </appendAll>
    </filterdup>
    </Expansion>
    </Field>
    This is done after assigning the user to the resources.
    Please help asap
    Thanks
    Bushra

    no....what i mean is that instead of using the user forms to set all the values, call a workflow instead. I believe the field in the configuration is called "process workflow" or something like that. this will be called instead of the forms. inside that workflow create a view, or get the existing view...set the new role....refresh the view...then call the create/update/delete user etc.
    a create view is s provisioning task...so you cant call it from a workflow. take the "provisioning task" part out of the header of the create user workflow and it should work just fine.
    this may be much more complicated than what you actually need. Its just the way i would handle it. I dont like using the user forms and always call a workflow instead. gives me much more flexibility
    dana

  • Linking Multiple Resource Accounts via Active Sync

    Ok guys/gals the scenario is... We have one idm account linked to accounts on one resource, and we want to be able to link them up via Active Sync...We don't care about the attributes, just want to make sure that if a another account for a user is created outside of IDM we can grab it and link it. So far, I've seen that the active sync process will see the new account, correlate it to a user, but it will not link the user...And outside of doing a custom Process Rule workflow, I'm not seeing any other way to get the accounts to link via active sync. Is what we are trying to do a reconciliation thing only? Have I missed something?

    Yes. You can add a field to your ActiveSync form to do this: Here is an example with AD:
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE Configuration PUBLIC 'waveset.dtd' 'waveset.dtd'>
    <Configuration name="Sample ActiveDirectory ActiveSync Form" wstype="UserForm">
         <Extension>
              <Form name="Sample ActiveDirectory ActiveSync Form">
                   <Field name="processType">
                        <Default>
                             <s>NONE</s>
                        </Default>
                   </Field>
                   <Field name="dispatcher">
                        <Expansion>
                             <cond>
                                  <eq>
                                       <upcase>
                                            <ref>feedOp</ref>
                                       </upcase>
                                       <s>UPDATE</s>
                                  </eq>
                                  <block>
                                       <set name="update.selectAll">
                                            <s>false</s>
                                       </set>
                                       <dolist name="resObj">
                                            <ref>waveset.accounts</ref>
                                            <block>
                                                 <set name="resName">
                                                      <get>
                                                           <split>
                                                                <ref>resObj</ref>
                                                                <s>:</s>
                                                           </split>
                                                           <i>1</i>
                                                      </get>
                                                 </set>
                                                 <set>
                                                      <concat>
                                                           <s>update.accounts[</s>
                                                           <ref>resName</ref>
                                                           <s>].selected</s>
                                                      </concat>
                                                      <s>false</s>
                                                 </set>
                                                 <cond>
                                                      <match>
                                                           <ref>resName</ref>
                                                           <ref>activeSync.resourceName</ref>
                                                      </match>
                                                      <cond>
                                                           <eq>
                                                                <ref>
                                                                     <concat>
                                                                          <s>waveset.accounts[</s>
                                                                          <ref>resName</ref>
                                                                          <s>].accountGUID</s>
                                                                     </concat>
                                                                </ref>
                                                                <ref>activeSync.objectGUID</ref>
                                                           </eq>
                                                           <set name="resourceName">
                                                                <ref>resName</ref>
                                                           </set>
                                                      </cond>
                                                 </cond>
                                            </block>
                                       </dolist>
                                       <cond>
                                            <isnull>
                                                 <ref>resourceName</ref>
                                            </isnull>
                                            <set name="processType">
                                                 <s>LINK</s>
                                            </set>
                                            <set name="processType">
                                                 <s>UPDATE</s>
                                            </set>
                                       </cond>
                                  </block>
                             </cond>
                        </Expansion>
                   </Field>
                   <Field name="IAPI.cancel">
                        <Expansion>
                             <s>true</s>
                        </Expansion>
                        <Disable>
                             <eq>
                                  <ref>processType</ref>
                                  <s>LINK</s>
                             </eq>
                        </Disable>
                   </Field>
                   <Field name="doLinking">
                        <Expansion>
                             <block>
                                  <append name="waveset.resources">
                                       <ref>activeSync.resourceName</ref>
                                  </append>
                                  <set>
                                       <concat>
                                            <s>waveset.accounts[</s>
                                            <ref>activeSync.resourceName</ref>
                                            <s>].accountId</s>
                                       </concat>
                                       <ref>activeSync.identity</ref>
                                  </set>
                                  <set>
                                       <concat>
                                            <s>waveset.accounts[</s>
                                            <ref>activeSync.resourceName</ref>
                                            <s>].sAMAccountName</s>
                                       </concat>
                                       <ref>
                                            <s>activeSync.sAMAccountName</s>
                                       </ref>
                                  </set>
                                  <set>
                                       <concat>
                                            <s>waveset.accounts[</s>
                                            <ref>activeSync.resourceName</ref>
                                            <s>].accountGUID</s>
                                       </concat>
                                       <ref>activeSync.objectGUID</ref>
                                  </set>
                             </block>
                        </Expansion>
                        <Disable>
                             <neq>
                                  <ref>processType</ref>
                                  <s>LINK</s>
                             </neq>
                        </Disable>
                   </Field>
              </Form>
         </Extension>
         <MemberObjectGroups>
              <ObjectRef type="ObjectGroup" id="#ID#Top" name="Top"/>
         </MemberObjectGroups>
    </Configuration>

  • How Create LDAP Group Inside Active Sync Form?

    I have an Active Sync form that is working well to synchronize (and slightly massage) data from an Active Directory source to a Sun Directory Server destination.
    I need to synchronize group information from AD to DS. It must automatically create groups during the Active Sync processing. It can't be done externally using another scripting language; it must be done within IdM.
    I have the following code...
    <Action id='0' application='com.waveset.provision.WorkflowServices'>
    <Argument name='op' value='createResourceObject'/>
    <Argument name='object'>
      <Object>
      <Attribute name='resourceId' value='DS'/>
      <Attribute name='resourceName' value='DS'/>
      <Attribute name='resourceType' value='LDAP'/>
      <Attribute name='objectName' value='abcd'/>
      <Attribute name='attributes'>
        <Object>
        <Attribute name='cn' value='abcd'/>
        <Attribute name='groupType' value='abcd'/>
        </Object>
      </Attribute>
      <Attribute name='objectType' value='group'/>
      <Attribute name='objectId' value='CN=abcd,ou=Groups,dc=blah,dc=com>
      </Object>
    </Argument>
    <Argument name='objectType' value='group'/>
    <Argument name='resourceId' value='DS'/>
    </Action>However with that code inside the <Field><Expansion>...</Expansion><Field> section the group is not created. I've enabled tracing and as best I can determine the code isn't even executed.
    I have created resource schemas for accounts[DS].ldapGroups and accounts[AD].groups and that works well. I can read group memberships from those lists. However I can't simply append to those lists to automatically create groups (which would be nice). That's why I've gone down this path of attempting to create the groups programatically.
    I've scoured the groups and the course notes and found nothing relevant here. The examples all refer to creating the groups within an interactive form. I'm trying to do the same within the <Field> section of an Active Sync form.

    TTSLSAB wrote:
    Hi Vladimir,
    can you please tell me what should i import in the java class inorder to avoid the below error (session) for the line
              Resource resource = (Resource)session.getObject(Type.RESOURCE, resId);
             ResourceAdapter ra = ResourceOp.findAdapter(resource, session.getCache());Error, which i am getting is
    Exception in thread "main" java.lang.Error: Unresolved compilation problems:
         session cannot be resolved
         session cannot be resolvedsession is your LighthouseContext handle so depending on how you are implementing the class you quoted, you will either need to pass it in, for example via the invoke tag from your form/workflow, or get your own - don't know how this is done but I'm assuming authenticating to IdM would have to be done.
    For all those interested, I have implemented the Java code snippet listed by Vladimir in XPRESS.
    idmSessionHandle - is the LighthouseContext for the current session
    currentOUDN - is a string representing the AD DN of the OU to be created
                    <defvar name='resourceAdapterHandle'/>
                    <set name='resourceAdapterHandle'>
                      <invoke name='findAdapter' class='com.waveset.provision.ResourceOp'>
                        <ref>resourceObject</ref>
                        <invoke name='getCache'>
                          <ref>idmSessionHandle</ref>
                        </invoke>
                      </invoke>
                    </set>
                    <defvar name='newOUGenericObject'/>
                    <set name='newOUGenericObject'>
                      <new class='com.waveset.object.GenericObject'>
                        <map>
                          <s>objectId</s>
                          <ref>currentOUDN</ref>
                          <s>objectType</s>
                          <s>Organizational Unit</s>
                        </map>
                      </new>
                    </set>
                    <invoke name='createObject'>
                      <ref>resourceAdapterHandle</ref>
                      <ref>newOUGenericObject</ref>
                      <new class='java.util.HashMap'/>
                    </invoke>
    [...]Although the above works well, to create OUs in AD, I have not yet tested its real life application with regards to the initial mass loading of users (from LDAP (auth source) to IdM to AD) and ActiveSyncing. My concerns are two threads attempting to create the OU at roughly the same time, the first succeeds, and second one fails because AD will reply with the fact that the object already exists. The workaround would be to do a recheck of the existence of the OU, after a failure was encountered. This ties into exception handling in general in this approach.
    If anyone can contribute exception handling and possibly a create with retries approach, to the above code, I'd appreciate it.
    Cheers.

  • Help Pls: how to assign a user form to a non active sync resource adapter

    I need to implement a non active sync resource adapter, such as oracle database or RACF. When a user is assigned a resource by IdM, an account is created on that resource. I want to transform some attributes during the creation, such as pre-padding the accountId with a letter and zeros. My questions are:
    1) I think attribute transformation should be accomplished by user form. is it correct? How do I assign the user form to the non active sync resource?
    2) What workflow/userform should I change to accomplish that?
    Thanks a lot.

    A cleaner option would be to
    1. Create a custom form, which could be derived from the Tabbed User Form.
    2. Create a delegated admin, with account administrator capabilities at the minimum, and required controlled organization, and assign the above form to this delegated admin -- this is on the same page.
    3. Use this form to create IDs on the specific resource.
    Now in this custom form you could have the logic on how to create the ID in the specific resource. In fact you could have different logic for different resource. Check the tech deployment guide for the exact syntax, but the field might be:
    account[Res_Name].identity
    Note that this setting would override the 'Identity Template' setting as defined in the RA configuration.
    And BTW, it would really help if you readup the 'Forms' section in the guide.
    Regards,
    Suveer Chainani

  • How to engage Shell Script resource action in an Active Sync workflow.

    A little background, at my organization I have IDM set up simply to recognize changes in LDAP and transmit those changes, via active sync, to AD. We don't yet use the IDM interface to make any changes to users, instead we use external interfaces that we have written to make changes to LDAP which then get picked up via Active Sync and synchronized to AD. However, in addition to AD, there are several other resources that we would like to gradually wrap into this active sync workflow via native and custom resource adapters. Currently I am working on a simple Shell Script resource to manage Linux home directories. I have written all the necessary code and created the resource itself within IDM. This all seems to work, I can create, delete, disable, etc.. users in our Linux environment from the IDM interface.
    Here is the problem, I would like to integrate the creation, deletion, enabling, disabling, etc.. of users into the same Active Sync workflow that engages whenever a change is made to LDAP. This way, whenever a user is created in LDAP (and consequently AD), that user will be granted a home directory in Linux. Unfortunately it seems that Shell Script Resources are not enabled for Active Sync. Any ideas on how one might accomplish this?
    Thanks in advance.

    Thank you for the prompt reply. Funny thing is that I have been banging my head on this problem for a couple weeks now (this is my first attempt at real customization ... ). I finally got desperate and decided to reach out for help. After I posted this message I came to a realization that ended up solving the problem for me, go figure.
    For anyone in my place I can relate what I ended up doing, simple as it was. Keep in mind, of course, that this is a highly customized environment that I am working in so the specifics probably wont apply. What I basically did, is I found an LDAPCreateUserProcess form that gets invoked when Active Sync is run. For all I could tell, this simply processed the new attributes that came through Active Sync and related them to their llighthouse / AD counterarts. But I noticed a line like this:
    <Field name="waveset.resources">
    <Expansion>
    <filterdup>
    <appendAll>
    <ref>waveset.resources</ref>
    <s>AD</s>
    </appendAll>
    </filterdup>
    </Expansion>
    </Field>
    and simply added the name of my shell script resource under the <s>AD</s> line. That was it.
    Anyway, thanks bobm53, I can now get on with my life :-)

  • Zenprise software and exchange active sync is no longer working with my work email

    Has anyone resolved this issue yet?  I use Zenprise to allow my email to communicate with my work server.  The account and set up is correctly and I reenrolled to ping the server. I discussed this with my company's support center.  However, my company no longer see's my phone trying to communicate with the server. I also use active sync to sync up the email.  Both are not working and did work fine before the ICS upgrade.  I did everything verizon told me to do.  Such as clear out cache, etc. 
    If my phone can not be fixed, I should receive a free upgrade to apple (since android is not working).  I should not have to pay for a new phone.  Verizon, please fix the software or send me a new apple phone.

    Hello all - I have good and bad news.   The good news is after I deleted both my unique Office365-based exchange accounts and then re-added one, I was asked to allow some policy that allows my company to wipe the device, etc., etc.   That allowed the first one to work, and the second one set up without issue too.   I'm most pleased to have my device working, but my 'fix' isn't too revolutionary so probably not very helpful to you.   I did try the Touchdown app for a bit the other day, but was disappointed that it could only do one account at a time and didn't have the comprehensive cross-account calendar, from what I could tell.  Also, my apologies for possibly polluting the thread but I do not use Zenprise; my phone (although company-issued) is a base Android.  Good luck with your issues and let's hope any other OS upgrade is far, far into the future.

  • Exchange active sync cannot connect to server after migration mailbox user from exchange 2007 to exchange 2013 coexistence

    Hello, everyone, my name is rafl
    I have a problem with exchange 2013 active sync.
    I have installed exchange 2013 coexistence with legacy exchange 2007, I have to migrate user mailboxes: [email protected] from exchange 2007 to exchange 2013.
    but any problem with active sync connection on the mobile device after moving mailbox user. I reconfigure the exchange ActiveSync external connection domain (latest.domain.com) on mobile device replacing legacy exchange ActiveSync external connection domain
    (legacy.domain.com)
    the process of moving mailboxes successfully without error.
    Access OWA for exchange 2007 and exchange 2013 is running normally
    access mail from Outlook running normally
    Certificate request has been installed and has no problem with it
    The OWA virtual directory is configured for internal and external connections and different from the legacy exchange
    The autodiscover virtual directory is configured for internal and external connections and different from the legacy exchange
    ActiveSync virtual directory is configured for internal and external connections and different from the legacy exchange
    user mailboxes are still on exchange 2007 is not problematic.
    only problem with Exchange Active Sync on mobile devices, where I set up an email with android, iphone, windows phone. the error message: cannot connect to the server.
    but, if I create a new user and create user mailboxes directly in exchange server 2013, ActiveSync can run without error on mobile device, access through OWA, MsOutlook, Outlook Anywhere also run normally.
    only the results of user migration from exchange 2007 to exchange 2013 which is troubled with exchange ActiveSync connection.
    any ideas for this problem, and what should I check on the exchange server ..?

    i have run the activesync test connectivity and get some error :
    Testing TCP port 443 on host domain.co.id to ensure it's listening and open.
    The specified port is either blocked, not listening, or not producing the expected response.
    A network error occurred while communicating with the remote host.
    Elapsed Time: 3091 ms.
    Testing TCP port 443 on host autodiscover.domain.co.id to ensure it's listening and open.
    The specified port is either blocked, not listening, or not producing the expected response.
    A network error occurred while communicating with the remote host.
    Elapsed Time: 21072 ms.
    Testing TCP port 80 on host autodiscover.domain.co.id to ensure it's listening and open.
    The specified port is either blocked, not listening, or not producing the expected response.
    A network error occurred while communicating with the remote host.
    Elapsed Time: 21049 ms.
    I have allowed access to port 443 (https) and 80 (http) on the firewall and re-run testconnectivity, but still with the same results. if I enable active sync for users who created directly in Exch 2013 there is no problem with the ActiveSync, just a problem
    for users who moved from Exch 2007 to Exch 2013. @Android, iPhone, and Blackberry the error message "cannot connect to the server"

  • Calendar & Contacts do not Sync to iPhone via Active Sync

    I've been trying to figure this out for 3 days now. I have searched all over this site and the Internet in general and nothing I have found has fixed the issue.
    Basically, starting last week, my Push mail from Exchange started draining my battery from 100% - dead in about 8 - 10 hours. I turned off Push and my battery draining issues went away.
    On Monday while searching the net for assistance with the battery draining issue I saw a suggestion to delete the account from the iPhone and re-add it. I did this and all h*ll broke loose.
    Ever since adding the exchange server back in the following issues exist:
    1. No contacts will sync over from my Outlook Mailbox.
    2. No calendar entries will sync over from my Outlook Mailbox.
    3. Only a handful of existing mail messages synced over after adding it (doesn't matter what I set my number days/months to save).
    4. New mail seems to show up fine, but if I read it in Outlook it does not mark it as read on the iPhone and vice versa.
    5. If I get a new invite for a meeting it adds it to my calendar on the iPhone but I dont' get any of the options to accept/decline.
    I have tried everything I can think of an all of the suggestions that have been posted online. I've even gone as far as deleting/archiving EVERYTHING out of my mailbox, including contacts, calendar entries, tasks, all mail sent and received, you name it. Nothing I do gets Active Sync working the way it should.
    I've added and removed the exchange account to/from my iPhone so many times I can practically do it blindfolded. I even restored my iPhone to factory defaults and then restored a backup I had from before the problems started occurring.
    Other co-workers on the same Exchange server are not having these issues.
    Any ideas from anyone? I'm trying to see if I can get some assistance from our Exchange team but I don't know what if any help I will get as this is not a supported device on our network.
    One thing that I can't seem to do (probably the version of Exchange we are running) is get to the mobile devices section of the Outlook Web Access Client to delete the iPhone profile.
    FWIW, this is an original iPhone running 2.2.

    I have this exact same issue!
    I was on 2.0.1 running fine until late last week, noticed emails would not show up unless I had opened them in outlook. I thought I ran into a bug so I upgraded to 2.0.2. Now I can sync my email if outlook had them opened previously, but no calendar or contacts at all. I don't think my exchange admins will move me to another server, any other ideas?
    I love my iphone but if these features don't work I can't use it. I would appreciate any ideas.

Maybe you are looking for