Estoy creando un BDC que consume de un WCF para enriquecer el perfil de usuario en SharePoint 2010. Una vez creado y configurado el BDC, creo una nueva lista basado en este nuevo tipo de contenido externo y al recuperar los datos, obtengo el siguiente error, debido a la gran cantidad de informacion que consulto:
- WCF Service Connector has throttled the response. The response from the WCF service contains more than ‘3000000’ bytes. The maximum amount of data that can be read through WCF Service Connector is ‘3000000’ bytes. The limit can be changed via the ‘Set-SPBusinessDataCatalogThrottleConfig’ cmdlet.
Este error radica en las limitaciones que tiene el BCS en SharePoint 2010 por defecto:
TYPE |
DESCRIPTION |
SCOPE |
DEFAULT |
MAXIMUM |
Connections | Total number of connections allowed to External Systems | Global |
100 |
500 |
Items | Number of rows returned from a database query | Database |
2000 |
25000 |
Timeout | Database connection timeout | Database |
60 sec. |
600 sec. |
Size | Size of returned data | WCF |
3 MB |
150 MB |
Timeout | Web service connection timeout | WCF |
60 sec. |
600 sec. |
Para poder modificar estos parametros o limites, es posible utilizar un sencillo script de PowerShell, gracias al comando Get-SPBusinessDataCatalogThrottleConfig:
#Define el Proxy BCS $bdcAppProxy = Get-SPServiceApplicationProxy | where {$_ -match "Business Data *"} #Modifica el numero maximo de bytes $throttleWCF = Get-SPBusinessDataCatalogThrottleConfig -Scope WCF -ThrottleType Size -ServiceApplicationProxy $bdcAppProxy Set-SPBusinessDataCatalogThrottleConfig -Identity $throttleWCF -maximum 2147483647 -default 2147483647 $throttleWCF #Modifica el tiempo maximo de la petición $throttleWCF = Get-SPBusinessDataCatalogThrottleConfig -Scope WCF -ThrottleType Timeout -ServiceApplicationProxy $bdcAppProxy Set-SPBusinessDataCatalogThrottleConfig -Identity $throttleWCF -maximum 2147483647 -default 2147483647 $throttleWCF
Muchas gracias Oscar, he conseguido solucionar este mismo problema que estaba teniendo