Robert MacLean
23 January 2008
Update 23 June 2008: See The official way to change MSCRM ports for an official way to do this. Update 12 March 2008:
The discovery service is a web service which gives back the real URL to the web services in MSCRM, so if you changed IIS it still gives back the old ones. There is also a bug in the RTM of MSCRM 4.0 which causes it to use the machine name instead of the host header after upgrades. So you go to http://<nice name> and the discovery service gives back to http://<machine name>/mscrmservices/2007/crmservice.asmx which doesn't exist since yourhost headers should have it as http://<nice name>/mscrmservices/2007/crmservice.asmx
You can pick this up using fiddler on the email server or desktop machine when trying to configure the email router or outlook client respectively. So I went though this with Microsoft PSS and they came back with a SQL command you can run to fix this.
NOTE: As this is a DB change it is unsupported. If you are a little worried about the impact do backups then try it. If you are very worried contact PSS directly for help.
Example, if your server is called: myserver and runs on port 50000
Once done do an IISReset and restart the Async service and everything should start to work fine! As I said before this came from PSS (in particular Justin Thorp)and I would really like to thank him for the hard workand great responses I got on it.
- An easier way exists to do this now. See Workflow doesn't work, Imports never happen, emails don't flow and Outlook clients cannot connect - Reloaded
- Another issue causing the same problems has been found and solved. See: Request IP Address has different address family from network address.
The discovery service is a web service which gives back the real URL to the web services in MSCRM, so if you changed IIS it still gives back the old ones. There is also a bug in the RTM of MSCRM 4.0 which causes it to use the machine name instead of the host header after upgrades. So you go to http://<nice name> and the discovery service gives back to http://<machine name>/mscrmservices/2007/crmservice.asmx which doesn't exist since yourhost headers should have it as http://<nice name>/mscrmservices/2007/crmservice.asmx
You can pick this up using fiddler on the email server or desktop machine when trying to configure the email router or outlook client respectively. So I went though this with Microsoft PSS and they came back with a SQL command you can run to fix this.
NOTE: As this is a DB change it is unsupported. If you are a little worried about the impact do backups then try it. If you are very worried contact PSS directly for help.
USE MSCRM_CONFIG Update DeploymentProperties SET NVarCharColumn = '<server>:<port>' WHERE ColumnName= 'AsyncSdkRootDomain' Update DeploymentProperties SET NvarCharColumn = '<server>:<port>' WHERE ColumnName = 'ADSdkRootDomain' Update DeploymentProperties SET NvarCharColumn = '<server>:<port>' WHERE ColumnName = 'ADWebApplicationRootDomain'
Example, if your server is called: myserver and runs on port 50000
USE MSCRM_CONFIG Update DeploymentProperties SET NVarCharColumn = 'myserver:50000' WHERE ColumnName= 'AsyncSdkRootDomain' Update DeploymentProperties SET NvarCharColumn = 'myserver:50000' WHERE ColumnName = 'ADSdkRootDomain' Update DeploymentProperties SET NvarCharColumn = 'myserver:50000' WHERE ColumnName = 'ADWebApplicationRootDomain'
Once done do an IISReset and restart the Async service and everything should start to work fine! As I said before this came from PSS (in particular Justin Thorp)and I would really like to thank him for the hard workand great responses I got on it.