Having more than one Business Data Connectivity Service Applications on the same SharePoint Server causes the Aspire SharePoint 2013 Publisher to fail when trying to create the new content source on the Search Service Application and link it to the corresponding BDC Model. Because of this issue the content source won't start crawling when the Notification Endpoint triggers it.

When a new BDCS is created its proxy has to be assigned to a Service Application Proxy Group. All BDCS proxies (and all the other Service Applications Proxies) that the admin creates will be assigned to the default Service Application Proxy Group unless it's changed. The proxy group is where the Aspire BDC Model is imported and where the Notification Endpoint gets the BDC url to create the content source. To get the proxy group the BDCS is loaded using the BDCS name on the endpoint parameters and ask for its proxy group, then the model is uploaded to that proxy group. The issue is that in that step the proxy group has multiple BDCS proxies assigned and there’s no way to tell it which one is needed, so it uses the default BDCS proxy (the first one created). After that the content source is created without the BDC url because, even though the BDCS proxy group name and the model name are sent as parameters, there are multiple BDCS proxies, the Proxy Group isn’t able to resolve the BDC url needed and it then returns nothing, leaving the content source with no BDC association.

To fix this we need to create a custom Proxy Group Association for each BDCS that we want to use to crawl batches from the Intermediate Repository. Each Service Application can have a custom Application Proxy Group association. So when having one custom Proxy Group Association for each BDCS, we can leave each Proxy Group with only one BDCS proxy (the one we need), and then when creating the BDC model and the content source, it will only have one BDCS and will be able to load and resolve everything without getting lost.

Note: One of the symptoms of this issue was that on the content source configuration the BDC model checkbox wasn’t checked. This is still happening, but it doesn’t affect the fix because the content source does know the BDC url and starts crawling automatically (when the Notification Endpoint triggers it) and everything is indexed correctly.

How to: Create a Custom Proxy Group for a Service Application

  • Go to Central Administration -> Application Management -> Configure service application associations

Conf-Service-App-Associations.jpg

  • On the view drop down, select Service Applications.

Service-Apps-View.jpg

  • Now select the BDCS where you want to add the custom Proxy Group.

BDCS ServApp.jpg

  • On the group of connections drop down, select custom.

Custom groupconnections.jpg

  • Select the all the Service Applications you need except the other BDCS available on the server. Make sure you set the BDCS as default for this Proxy Group.

App Selection.jpg

  • Save the custom proxy group by clicking Ok.

Save Custom Group.jpg

  • If everything works fine, you'll see the new group on the next screen.

New custom group.jpg

  • No labels