Archive for March, 2017

“The authentication endpoint Username was not found on the configured Secure Token Service” Error When Registering

March 14, 2017

TIP: When setting up ADFS, the ADFS website should only have a single binding: port 443. You should remove the default port 80 binding. Notice that in the error above, the address is http (not https) which means that there is communication taking place across port 80 to ADFS. This is not the desired configuration. By removing the port 80 binding in IIS from the ADFS website, and restarting the ADFS server, you should be able to avoid this error. If not, read some of the tips below.

If you see this error when trying to register or connect with ClickDimensions, there are several possible causes, all due to CRM/ADFS configuration:

  • The Username endpoint is not properly configured in ADFS; (This is the most common cause of this error. Some customers have been able to disable the Username endpoint in ADFS to correct this. Others have had to enable it depending on their specific configuration. Refer to Microsoft’s documentation for your environment.)
  • If ADFS and CRM are installed on the same server and using the same port, you can run into this error. Change the port that ADFS uses so it is different from the CRM website. More details here.
  • If you are using Windows Server 2012, there is a hotfix from Microsoft for a related issue: http://support2.microsoft.com/kb/2827748/en-us
  • The Federation Metadata in ADFS needs to be updated due to changes in the environment (adding a new org, making DNS changes);
  • The endpoint is unreachable due to a routing or firewall issue (or having incorrectly configured bindings on ADFS in IIS);
  • The user you are entering for the service account does not have sufficient privileges in CRM;
  • The time on your ADFS and/or CRM servers are out of sync by more than 5 minutes with internet time

To resolve this error:

First, make sure the user you have set up as the service account has Read/Write access to CRM and has a security role assigned that enables it to log into CRM remotely.

Next, make sure the Username endpoint is configured in the ADFS deployment that this CRM org is using:

  1. Log onto the ADFS server and open the ADFS management console. Go to ADFS > Service > Endpoints
  2. You’ll see a list of endpoint URLs here. Find the one for /adfs/services/trust/13/username of type WS-Trust 1.3
  3. Make sure that this endpoint has “Yes” set for both the Enabled and Proxy Enabled settings.
  4. If you have to make a change to this endpoint, after making the change re-start the ADFS server and the CRM server, then try to register again.

Lastly, if the above looks okay, it could be a resolution or routing issue blocking the connection. Make sure that there are external DNS entries for the path to your ADFS server (for example, https://sts.mydomain.com needs to resolve externally). Also, make sure that your firewall permits external access to the ADFS server. If you are able to, try to use a computer that is outside of your domain to navigate directly to the ADFS server to test its accessibility.

NOTE: This error also prevents connections from the Outlook client for CRM when connecting from outside of a network.

Original Source

Type ‘System.ServiceModel.Channels.ReceivedFault’ in Assembly is not marked as Serializable : Error of Incoming/Outgoing status Failure in Email Router

March 13, 2017

Incoming Status: FailureType ‘System.ServiceModel.Channels.ReceivedFault’ in Assembly ‘System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089’  is not marked as serializable.

Outgoing Status: Failure Type ‘System.ServiceModel.Channels.ReceivedFault’ in Assembly ‘System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089’  is not marked as serializable.

I found the discussion regarding the same issue in the Forum but with no confirmed Answer. So I started following up all possible ways to come out with a definite answer.

Solution:-

The simplest of all which I did was; Under the Deployment Tab of Email Router:-

If the ‘Access Credentials’ is specified as “Local System Account”, then change it to “Other Specified” and add the Domain User Account that is part of the PrivUserGroup Security Group. (In my case I added the Administrator account which is under PrivUserGroup Security Group)

Actually the account that needs to run the Email Router Service needs to be under the PrivUserGroup Security Group. So if you specify any other Domain User Account then make sure to add it to the Member of the Security Group ‘PrivUserGroup’

The Solution explained above solved my issue and hope similarly it will be helpful for you as well.

Original Source

EWS Editor for Dynamics 365

March 3, 2017

EWS Editor for Dynamics 365 is based off the original EWS Editor source and is designed to provide troubleshooting tools to help resolve Exchange server integration issues related to Server Side Synchronization and the E-mail Router. Below are the features available in the Alpha release:

  • Natively inspect Dynamics 365 Extended Properties (crmid, crmLinkState, etc) in any EWS Editor grid that contains items linked to Dynamics 365.
  • Retrieve ExchangeSyncIdMapping records for any given Appointment, Contact, or Task in any EWS Editor Grid that contains items linked to Dynamics 365.
  • Validate e-mails for promotion to Dynamics 365 by performing the CheckIncomingEmailRequest API.
  • Inspect the Mailbox Synchronization State, Mailbox Alerts, and other details in a thematically grouped interface.
  • Perform Mailbox diagnostics to check for misconfigured or stuck mailboxes with Server Side Synchronization.
  • Troubleshoot and anticipate ACT Synchronization issues between Dynamics 365 and Exchange Server.
  • Simulate various Exchange Web Service APIs commonly used by Dynamics 365.

The tool works across all supported configurations of Dynamics 365 / CRM 2016 and Exchange Server as outlined here.

For usage instructions, please see the documentation.

Download

Step By Step running On-demand workflow for all active records

March 1, 2017

Did you get a requirement to run your workflow for all active records ? if yes then this post going to help you to implement the same. OOB in MS CRM web client we can run our on-demand workflow only for 250 records, but there are some workaround to overcome this limitation, for example we could use MS CRM Outlook client, because in outlook client there is no limitation for number of records in per page. If you are using outlook client for MS CRM and interested in this workaround check this.
But if you are not use outlook client for MS CRM then you can use Workflow Execution Manager from MSCRM ToolKit. In this post we are going to provide step by step instruction how to use this tool.
So for implementing this requirement we need to follow three steps

  • Create a on- demand workflow for your requirement.
  • Get FetchXML query for your entity records.
  • Configure Workflow Execution Manager to run your workflow.

Create a on- demand workflow
Let’s create our on-demand workflow, in our example we are creating workflow on Account entity to set custom category as standard. So navigate to Settings->Process ->New and fill below details
Process Name:
Entity: Account
Category: Workflow

Click ok and add update step to set account category as “Standard” (click on Set Properties button to set account record category) . Save and Activate our workflow , after completion our workflow should look like below.
accountowkflow
Get FetchXML
Now navigate to Advance find and design your query and click on Download Fetch XML to get fetchxml query
advance find
Configure Workflow Execution Manager
Download MS CRM Toolkit from codeplex and extract it. Click on MSCRMToolKit.exe to start and follow below steps.

  • Select Connection Manager and fill below details

workfloeexutt

  • Test your connection and close connection manager dialog.

Start Workflow Execution Manger from Tool menu and follow below steps
Profile: Provide any name.
Source: Select your connection name.

Click on (Re) Load Workflow button to load your all on-demand workflows.
Paste your query in Records Query text field and Save your profile from File menu.
It should look like below
workflowexecution
Click on Execute workflow, it will start your workflow and will process all resultset based on query provided.

Original Source