Problems with Peoplesearch in MOSS 2007

Today I ran into some problems concerning People-search in MOSS 2007. My customer was using https for their main sharepoint site and I had installed the mysite host on the same web application (in https://servername/mysite) according to the specifications found around the net.

Well, my customer just couldn’t get the people search to work, and I had heard that there were some problems with using it on a site that runs on https (http with ssl), so I wasn’t very surprised. As a bit of backgroud, the peoplesearch is set up as a contentsource in the search using sps3://servername. The server in this case should be the web application hosting mysite.

Well, how to solve it. First of all I tried to just create and extension of the sharepoint application on http port 2000 (http://servername:2000). It worked just as it should, when I browsed it, it worked and I was also tranfered to the default site (https://servername).

I tried adding this as a content source instead of the old one, in other words:
sps3://servername:2000, sadly it didn’t work.

As a matter of fact, we had got it to work previously in the same environment. We had first installed sharepoint on http://home and then added https://home.company.com with an extension and an alternate access mapping. The later was used as the address to be used from the outside, by using MS ISA as a reverse proxy. After a while, the customer complained about problems with people copying/emailing url:s that didn’t work from the outside. (the url was http://home/… and not https://home.company.com/…, so not very strange. This resulted in the action of removing the alternate access mapping of http://home (the original one) so that only https://home.company.com remained (and was hence set at the default). This worked great, people could enter “home” in their IE and they would reach the site https://home.company.com.

However, when I removed the alternate access mapping for http://home, people search started failing.

So, the remedy, I added an alternate access mapping for http://home:2000 in the zone Intranet (doesn’t really matter, which zone as long as it isn’t the default), re-indexed the search server and made a full crawl that worked like a charm! The point of using TCP port 2000 was that is is very unlikely that a user might just happen to enter that, it could just have been 1234 aswell…

Gustaf Westerlund
CRM and SharePoint Consultant

Humandata AB
www.humandata.se

SharePoint links

Looking for some good links to SharePoint related material, have a look bellow:

SharePoint whitepapers:
http://www.combined-knowledge.com/Downloads%202007.htm

Office SharePoint Server 2007 on TechNet
http://technet2.microsoft.com/Office/en-us/library/5233cf43-6a8f-40cb-9014-0724600e7e381033.mspx?mfr=true

Microsoft Office Systems for Architects
http://msdn2.microsoft.com/sv-se/architecture/aa699381.aspx

Application Templates
http://www.microsoft.com/technet/windowsserver/sharepoint/wssapps/templates/datasheets.mspx

I will publish more when I find anything useful!

Gustaf Westerlund
CRM and SharePoint Consultant

Humandata AB
www.humandata.se

Reports.config has invalid schema

I was working with setting up a demo/lab environment with SQL 2005, MOSS Ent 2007 and MS CRM 3, Office 2007 Ultimate.

However, I had problems getting the reports to work, when trying to access the reportpage, I got the error: “Reports.config has invalid schema”.

I looked around a bit on the net and found that one of the blogs I suibscribe to actually discussed the problem at hand.

http://blogs.msdn.com/mscrmfreak/archive/2006/05/17/599371.aspx

It seemed that the reason for the error was that .NET 2.0 had been defaultet for the CRM 3 website (and we all know it is .NET 1.1, right!). So, tried to run “aspnet_regiis -r” as described but I got the same error as the comment by “Matt Thomas“, my CRM just stopped working.

So, what to do. I found that when you run “aspnet_regiis -r” it resetts all websites to the version of .NET that you run it from (ex. C:WINDOWSMicrosoft.NETFrameworkv1.1.4322aspnet_regiis -r, will set all websites to use .NET 1.1). This is not desirable since my MOSS 2007, SQL 2005 RS and all MOSS admin sites (central admin, my site, SSP) all should run .NET 2.0. So, I thought it better to reset all sites to .NET 2.0 and then manually set the CRM site to 1.1. And so I did, and CRM just stalled when loading. No error message, no nothn’!

This got me thinking that you should be able to run one version of aspnet_regiis for just one website. So, by trying the all-usefull “/?” parameter I found that using “aspnet_regiis -lk” will list all different IIS-paths and show which version they were running. This was what I found:
C:WINDOWSMicrosoft.NETFrameworkv1.1.4322>aspnet_regiis -lk
W3SVC/ 2.0.50727.42W3SVC/1/ROOT/ 2.0.50727.42
W3SVC/1/ROOT/_layouts/images/ 2.0.50727.42
W3SVC/1/ROOT/_layouts/inc/ 2.0.50727.42
W3SVC/131316714/root/ 2.0.50727.42
W3SVC/131316714/root/Reports/ 2.0.50727.42
W3SVC/131316714/root/ReportServer/ 2.0.50727.42
W3SVC/1720207907/root/ 2.0.50727.42
W3SVC/2/ROOT/ 1.1.4322.0
W3SVC/2/ROOT/MSCRMServices/ 2.0.50727.42
W3SVC/2075257487/Root/ 2.0.50727.42
W3SVC/2075257487/Root/_layouts/images/ 2.0.50727.42
W3SVC/2075257487/Root/_layouts/inc/ 2.0.50727.42
W3SVC/425288717/Root/ 2.0.50727.42
W3SVC/425288717/Root/_layouts/images/ 2.0.50727.42
W3SVC/425288717/Root/_layouts/inc/ 2.0.50727.42
W3SVC/493651791/Root/ 2.0.50727.42
W3SVC/493651791/Root/_layouts/images/ 2.0.50727.42
W3SVC/493651791/Root/_layouts/inc/ 2.0.50727.42

Aha! Can you see what is wrong? Well, when I manually set CRM to .NET 1.1 it didn’t do that recursivly! The CRM webservice is running as a separate application, and I hadn’t changed that. This is the row that shows what’s wrong:

W3SVC/2/ROOT/MSCRMServices/ 2.0.50727.42

So, I checked what parameters you could use with aspnet_regiis and found that “-s ” seemed like a good idea. Hence, I ran:

aspnet_regiis -s W3SVC/2/ROOT

I think it might just have worked with going in to the CRM site and changing it for the MSCRMService virtual directory, but I thought it better to set it to the entire MS CRM 3 website recursivly to make sure everything was ok. When it had completed (takes a minute or two), I ran “aspnet_regiis -lk” again to check the current status:

W3SVC/ 2.0.50727.42W3SVC/1/ROOT/ 2.0.50727.42
W3SVC/1/ROOT/_layouts/images/ 2.0.50727.42
W3SVC/1/ROOT/_layouts/inc/ 2.0.50727.42
W3SVC/131316714/root/ 2.0.50727.42
W3SVC/131316714/root/Reports/ 2.0.50727.42
W3SVC/131316714/root/ReportServer/ 2.0.50727.42
W3SVC/1720207907/root/ 2.0.50727.42
W3SVC/2/ROOT/ 1.1.4322.0
W3SVC/2/ROOT/MSCRMServices/ 1.1.4322.0
W3SVC/2075257487/Root/ 2.0.50727.42
W3SVC/2075257487/Root/_layouts/images/ 2.0.50727.42
W3SVC/2075257487/Root/_layouts/inc/ 2.0.50727.42
W3SVC/425288717/Root/ 2.0.50727.42
W3SVC/425288717/Root/_layouts/images/ 2.0.50727.42
W3SVC/425288717/Root/_layouts/inc/ 2.0.50727.42
W3SVC/493651791/Root/ 2.0.50727.42
W3SVC/493651791/Root/_layouts/images/ 2.0.50727.42
W3SVC/493651791/Root/_layouts/inc/ 2.0.50727.42

As you can see, the MSCRMService is now also .NET 1.1.

After this I restarted the IIS with “iisreset”, and tried to run CRM and the reports;
Everything worked as it should!

Gustaf Westerlund
CRM and SharePoint Consultant

Humandata AB
www.humandata.se