At first: This is a common problem. Using the "Organization Browser" Web Part on another page than on the MySite host web application results in an empty view. This means, the "Organization Browser" does not have any content. – As I said: This is a common problem.
First step to fix this is to create a âclientaccesspolicy.xmlâ file in the IIS directories of the SharePoint Web Applications.
See this blog post of Adam Preston:
http://www.tcscblog.com/2011/04/11/using-the-sharepoint-2010-organization-browser-in-another-web-application/
BUT:
In my current case it remains empty!!!
I used Fiddler to analyse the problem.
The Silverlight App âOrganization Browserâ executes a Web Service request but the response is empty. Not like an error but the Web Service does not find any data for the given account. Please see this screenshot for the request and its response:

I modified the request in Fiddler and removed the claim info âi:0#.w|â in the request. â And now it works. The Web Service does respond correct data!!!

I checked the authentication mode of both sites:
The MySite Web Application uses âClassic Authenticationâ and the Web Application from within I call the Organization Browser App is âClaims Based Authenticationâ. This results in bad request data for the Web Service. The âClaims Basedâ Web Application sends the user name in âclaim formatâ but the MySite Web App cannot handle it. So I have to migrate the MySite Web App to Claims Based Authentication.
For the Migration of the MySite Web App from Classic Authentication to Claims Based Authentication Iâve written this script:
Add-PSSnapin Microsoft.SharePoint.PowerShell -ErrorAction SilentlyContinue
[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint")
######################################################################################################
$url = "http://personal.sharepoint.local"
$webapp = Get-SPWebApplication $url -ErrorAction SilentlyContinue
if( $webapp -ne $null) {
Write-Host "Web Application: $($webapp.Url)"
Write-Host " Active Claim Based Authentication"
$webapp.UseClaimsAuthentication = "TRUE"
Write-Host " Update Web Application"
$webapp.Update()
Write-Host " Provisioning Web Application"
$webapp.ProvisionGlobally()
#Claims Migration
Write-Host " Set Authentication Provider"
$webapp = Get-SPWebApplication $url -ErrorAction SilentlyContinue
Set-SPwebApplication $webapp -AuthenticationProvider (New-SPAuthenticationProvider) -Zone Default
Write-Host " Migrate Users to Claim Based Authentication"
$webapp = Get-SPWebApplication $url -ErrorAction SilentlyContinue
$webapp.MigrateUsers($true)
}
After that I realized that the personal site collection does not have correct Site Collection Admin settings any more: There the original âClassic Modeâ users are registered not the âClaimâ user (login) names.
Iâve written this script to fix this:
Add-PSSnapin Microsoft.SharePoint.PowerShell -ErrorAction SilentlyContinue
[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint")
######################################################################################################
$url = "http://personal.sharepoint.local"
$webapp = Get-SPWebApplication $url -ErrorAction SilentlyContinue
if( $webapp -ne $null) {
$sites = Get-SPSite -Limit all
$sites | % {
$site = $_
if( $site.Url.StartsWith("http://personal.sharepoint.local/sites/domain_", [System.StringComparison]::InvariantCultureIgnoreCase) ){
Write-Host "$($_.Url)" -ForegroundColor Green
$site.RootWeb.SiteUsers | ? { $_.IsSiteAdmin } | % {
$user = $site.RootWeb.EnsureUser("i:0#.w|" + $_.LoginName)
$user.IsSiteAdmin = $true
$user.update()
}
} else {
Write-Host "$($_.Url)" -ForegroundColor Red
}
}
}
BUT: It does not work eighter
!!!
It seems to be a known limitation of the Organization Browser not to work at âClaims Authenticationâ enabled Web Applications.
BUT: I could create a wolkaround for this!!!
You need to edit the page where you want to use the âOrganization Browserâ in SharePoint Designer 2010 in Advanced Mode. â In my case I created a new Page Layout for my page derrived from the Page Layout âWelcome Links â Table Of Contentâ. In this case I modified this custom Page Layout.
This is the JavaScript code including the Content Placeholder ASP.NET tag for the code:
<asp:Content ContentPlaceHolderID="PlaceHolderUtilityContent" runat="server">
<script type="text/javascript">
var oldCreateHierarchyChartControl = CreateHierarchyChartControl;
function CreateHierarchyChartControl(parentId, profileId, type) {
var i = profileId.indexOf("|");
//alert(i);
if(i >=0 )
profileId = profileId.substr(i+1,profileId.length-i-1);
//alert(profileId);
var initParam = profileId + ',' + type;
var host = document.getElementById(parentId);
host.setAttribute('width', '100%');
host.setAttribute('height', '100%');
Silverlight.createObject('/_layouts/ClientBin/hierarchychart.xap',
host,
'ProfileBrowserSilverlightControl',
{
top: '30',
width: '100%',
height: '100%',
version: '2.0',
isWindowless: 'true',
enableHtmlAccess: 'true'
},
{
onLoad: OnHierarchyChartLoaded
},
initParam,
null);
}
</script>
</asp:Content>
Iâve inserted this JavaScript code that overrides a JavaScript function created by the âOrganization Browserâ SharePoint Web Control. â This customized function removes the âClaim partâ of the user name that is send to the Web Server by the Silverlight Application.
NOW IT WORKS!!! 

â On the Claim Authentication based Web Application the âOrganization Browserâ can be used!!!