Duplicate messages in CHANGES ONLY query and compare mode

If you receive duplicate messages in CHANGES ONLY query and compare mode, the most likely cause is that the query interval you have set is too short for the scope of your query. To diagnose, increase your query interval significantly and see if the duplicates no longer occur.

If you absolutely require a short query interval you can rewrite your query to include fewer results (e.g. restricting only to user objects) and/or split your query across multiple receive locations that handle different subsets of results (e.g. cn filtered A-K on one receive location and L-Z on another).

FAQs
My Solicit-Response Send Port Query Is Only Returning 1000 Results

Try adding the setting PageSize="1000" to your query parameters. For example:

<ActiveDirectoryQuery><Directives WhereToBind="LDAP://CN=Users, DC=test, DC=com" Filter="(objectCategory=user)" SearchScope="onelevel" PropertiesToReturn="cn" PageSize="1000"/></ActiveDirectoryQuery>

By default Active Directory only allows for a single page of 1000 results. By explicitly setting this value multiple pages (and hence all results) are returned.

See the entire answer

Can the Active Directory Receive Adapter help me build an orchestration that listens for changes to Active Directory?

Yes. The ON CHANGE ONLY option on the Active Directory Receive Adapter provides this feature. A message is submitted to your BizTalk application only when the results of the query you have specified change. This feature provides a great way to trigger orchestrations and keep information in your Enterprise Applications synchronized.

There is also a REAL-TIME mode that gets events from Active Directory asynchronously and submits them to BizTalk  as they happen.

See the entire answer

Can ActiveADAPTER help me retrieve information from Active Directory?

Yes. The Active Directory Receive Adapter can be used to create a Receive Location that queries Active Directory at regular intervals and submit the results to your BizTalk application. A message can be submitted to BizTalk at every polling interval, or only when a change occurs in the query results (this is the "On Change Only" option on the Active Directory Receive Adapter property configuration).

In addition, the Active Directory Send Adapter can be used with a Solicit-Response Send Port to perform an on-demand query. You just send your query parameters to the send port in a message that conforms to the supplied schema, and receive your results back in a new message.

See the entire answer