Sdílet prostřednictvím


"The Business Data Connectivity Metadata Store is currently unavailable”

 

ISSUE

While trying to connect to external content types for a SharePoint site using SharePoint designer the following error is encountered - "The Business Data Connectivity Metadata Store is currently unavailable”

SYMPTOMS:

Getting the error "The Business Data Connectivity Metadata Store is currently unavailable" in SharePoint designer while trying to connect to the external content types.

Even after checking the first few basic steps (Checking BDC service is started, we are able to browse to the BDC service application and see the external content types here, Checking BDC permissions and even creating a new BDC) if you still get the same issue

In this scenario, it is best to capture a fiddler trace.

The fiddler trace (fiddler tool available at https://fiddler2.com/) would show a 404 for the BdcAdminService

# Result Protocol Host URL Body Caching Content-Type Process Comments Custom

75 404 HTTP <siteurl>/_vti_bin/BDCAdminService.svc 0 spdesign:10080 [#55]  

# Result Protocol Host URL Body Caching Content-Type Process Comments Custom

76 404 HTTP <siteurl>/_vti_bin/BDCAdminService.svc /_vti_bin/BDCAdminService.svc 0 spdesign:10080 [#56]

RESOLUTION:

 

Collect “Failed Request tracing” logs (as Fiddler would only show us a 404 for the BDCAdmin service) and SharePoint ULS logs would not be very useful for the issue.

(Refer to https://technet.microsoft.com/en-us/library/cc731798(v=ws.10).aspx and https://www.iis.net/learn/application-frameworks/running-classic-asp-applications-on-iis-7-and-iis-8/using-failed-request-tracing-to-troubleshoot-classic-asp-errors to understand failed request tracing)

From the Failed Request tracing logs, You should see something like:

 

ModuleName

RequestFilteringModule

Notification

1

HttpStatus

404

HttpReason

Not Found

HttpSubStatus

10

ErrorCode

0

ConfigExceptionInfo

 

Notification

BEGIN_REQUEST

ErrorCode

The operation completed successfully. (0x0)

 

“Request filtering module” in IIS is giving a 404. 404.10 status code implies that the “Request header it too long” (Refer https://www.iis.net/configreference/system.webserver/security/requestfiltering/requestlimits  )

Check the ApplicationHost.Config file at the following location on server C:\Windows\System32\inetsrv\config

look for the headerlimit section. The header limit was set to:

<headerLimits>
<add header="Range" sizeLimit="4294967295" />
<add header="Content-Type" sizeLimit="100" />
</headerLimits>

The header limit set here causes the issue.

Remove the headerlimit section from the ApplicationHost.config file and do an IISReset.

Works like a charm! :-)