Connecting a Service Between Publishing SharePoint 2013 and Consuming SharePoint 2010 Farm

This article defines how to connect a service between publishing a SharePoint 2013 and consuming a SharePoint 2010 Farm.

The first step: You need to establish a trust relationship between the two farms:

  1. On SharePoint 2010 Farm Application Server

    Export the Farm and STS certificates from the SharePoint 2010 farm:
     

    $rootCertificate = (Get-SPCertificateAuthority).RootCertificate

    $rootCertificate.Export("Cert") | Set-Content C:\Certificates\2010FarmRoot.cer -Encodingbyte

    $stsCertificate = (Get-SPSecurityTokenServiceConfig).LocalLoginProvider.SigningCertificate

    $stsCertificate.Export("Cert") | Set-Content C:\Certificates\2010FarmSTS.cer -Encodingbyte

    SharePoint-1.jpg
     

  2. On SharePoint 2013 Application Server

    Export the Farm certificate from the SharePoint 2013 Farm:
     

    $rootCertificate = (Get-SPCertificateAuthority).RootCertificate

    $rootCertificate.Export("Cert") | Set-Content C:\Certificates\2013FarmRoot.cer -Encodingbyte

    SharePoint-2.jpg

      

  3. Import the SharePoint 2013 certificate into the SharePoint 2010 Farm:

    On the SharePoint 2010 Farm Application Server execute the following commands:
     

    $trustCertificate = Get-PfxCertificate C:\Certificates\2013FarmRoot.cer

    New-SPTrustedRootAuthority"2013 Trust"-Certificate $trustCertificate

    SharePoint-3.jpg
     

  4. Import the SharePoint 2010 into the SharePoint 2013 Farm:

    On the SharePoint 2013 Farm Application server execute the following commands:
     

    $trustCertificate = Get-PfxCertificate C:\Certificates\2010FarmRoot.cer

    New-SPTrustedRootAuthority"2013 Trust" -Certificate $trustCertificate

    $stsCertificate = Get-PfxCertificate C:\Certificates\2010FarmSTS.cer

    New-SPTrustedServiceTokenIssuer"2013 Trust" -Certificate $stsCertificate

    EntityFramework-4.jpg

Second Step: You need to publish the Search Service Application and set the permissions:

Publishing a Service Application

  1. Go to a publishing server whose service you want to publish and use in other farms, open Central Administration. (here SharePoint 2013)
  2. Go to Application Management and then move to Manage Service Applications.
  3. Click to the right of the service application that you want to publish, clicking on the application will open its features; be sure to click on it right.
  4. On the SharePoint Ribbon, click on the Publish. Feature.

    EntityFramework-5.jpg

  5. On the next page check the option "Publish this Service Application to other farms" .

    EntityFramework-6.jpg

  6. Now we must copy the entire URL: It will begin with "urn:" and end with ".svc".
    urn:schemas-microsoft-com:sharepoint:service:ff3af89454dd41c1bb484a393e008d61#authority=

    urn:uuid:2ea153147ceb4afa86104ff5f8f1b6a1&authority=https://xxxxx:32844/Topology/topology.svc 

    EntityFramework-7.jpg

  7. Make it ok and proceed.
  8. Again do the same step as step C.
  9. On the SharePoint Ribbon, click on Permission.

    EntityFramework-8.jpg

  10. Provide the Farm Id of the consuming farm, you can find it as:  In Powershell type. (Here in the SharePoint 2010 farm.)

    Get-SPFarm | Select Id

    Result :-  xxxxx-xxxxx-xxxxx-xxxxxxx
     
  11. Add the same into the SharePoint 2013 farm.
  12. Click the farm id you entered, for the permission.

    EntityFramework-9.jpg

  13. Add the same into the SharePoint 2013 Farm.
  14. Click the farm id you entered, for the permission.

Now the part of publishing farm is over, we must enter the URL in the consuming farm to use the service:

  1. Go to a Consuming server where the publishing service needs to be used, open Central Administration.
  2. Go to Application Management and then move to Manage Service Applications.
  3. On the SharePoint Ribbon, click on Connect.
  4. the URL for the service application you have taken in Step (f) of the publishing server and press OK.

    EntityFramework-10.jpg

  5. Highlight the service application by clicking on it.
  6. Here you have an option to choose, whether or not to include this service application in the default service application group. Click OK once done.

    EntityFramework-11.jpg

Now when all the stuff is over you can use the service application of a farm just as a locally hosted service application of your farm.

Now, go into your 2013 SSA, add a SharePoint 2010 content source and run a full crawl. Once the crawl is completed, you will be able to search the content using your 2010 Search Center.

EntityFramework-12.jpg

To edit a service connection group using Central Administration (on the consuming farm) (in our case the SharePoint 2010 Farm):

  1. Verify that the user account that is performing this procedure is a member of the Farm Administrators SharePoint group.
  2. On the Central Administration Home page, click Application Management.
  3. On the Application Management page, in the Service Applications section, click Configure service application associations.
  4. On the Service Application Associations page, select Web Applications from the View drop-down menu.
  5. In the list of Web applications, in the Application Proxy Group column, click the name of the service application connection group that you want to change.
  6. To add a service connection to the group, select the check box that is next to the service application that you want to add to the connection group. To remove a service application connection from the connection group, clear the check box next to the service application that you want to remove from the connection group. When you have made the changes that you want, click OK.

    EntityFramework-13.jpg

Search result in SharePoint 2010 site using SharePoint 2013 Farm Search Service application

EntityFramework-14.jpg