Installing the SharePoint 2010 WCF Service
Overview
Microsoft SharePoint 2010 uses WCF for method invocation.
UNIFY have supplied a WCF service for identity management integration with Microsoft SharePoint 2010.
Installation of the service
In order to connect to SharePoint 2010, the UNIFYBroker/Microsoft SharePoint 2010 WCF Service must
be installed. The UNIFYBroker/Microsoft SharePoint 2010 WCF Service file is
named Unify.Connectors.SharePoint.SharePoint2010WCFService.wsp
. Please contact your SharePoint administrator
for details on installing the service on to the SharePoint 2010 server. Installation can be performed using the stsadm
tool,
using the addsolution
and deploysolution
flags, or using the Add-SPSolution
and Install-SPSolution
PowerShell
commandlets.
As an example, using the PowerShell commandlets:
Add-SPSolution -LiteralPath c:\Unify.Connectors.SharePoint.SharePoint2010WCFService.wsp
Install-SPSolution -Identity Unify.Connectors.SharePoint.SharePoint2010WCFService.wsp -GACDeployment
More details on this process can be found in Microsoft's SharePoint technical reference:
- Stsadmin tool
- Add-SPSolution and Install-SPSolution commandlets
You can verify the services have been correctly deployed by browsing to the /MEX extension of the web service location, which will be of the format:
- http://MySharePointInstance/_vti_bin/unify/userprofile.svc/mex for the custom user profile service, and
- http://MySharePointInstance/_vti_bin/unify/organizationprofile.svc/mex for the custom organization profile service.
where MySharePointInstance above refers to the target SharePoint instance.
Configuration of the service
In order for UNIFYBroker to successfully connect to the SharePoint instance, the following configuration must be placed
in the Unify.Service.Connect.exe.config
file in the %ProgramFiles%\UNIFY Solutions\Identity Broker\Services
directory.
Add the following bindings to the basicHttpBinding
element in the system.ServiceModel\bindings
XPath:
<binding name="BasicHttpBinding_ISharePoint2010UserProfileService"
closeTimeout="00:01:00" openTimeout="00:01:00" receiveTimeout="00:10:00"
sendTimeout="10:00:00" allowCookies="false" bypassProxyOnLocal="false"
hostNameComparisonMode="StrongWildcard" maxBuffeSsize="204003200"
maxBufferPoolSize="524288" maxReceivedMessageSize="204003200"
messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered"
useDefaultWebProxy="true">
<readerQuotas maxDepth="32" maxStringContentLength="65536000" maxArrayLength="65536000"
maxBytesPerRead="65536000" maxNameTableCharCount="65536000" />
<security mode="TransportCredentialOnly">
<transport clientCredentialType="Ntlm" proxyCredentialType="None" realm="" />
<message clientCredentialType="UserName" algorithmSuite="Default" />
</security>
</binding>
<binding name="BasicHttpBinding_ISharePoint2010OrganisationProfileService"
closeTimeout="00:01:00" openTimeout="00:01:00" receiveTimeout="00:10:00"
sendTimeout="10:00:00" allowCookies="false" bypassProxyOnLocal="false"
hostNameComparisonMode="StrongWildcard" maxBufferSize="204003200"
maxBufferPoolSize="524288" maxReceivedMessageSize="204003200"
messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered"
useDefaultWebProxy="true">
<readerQuotas maxDepth="32" maxStringContentLength="65536000" maxArrayLength="65536000"
maxBytesPerRead="65536000" maxNameTableCharCount="65536000" />
<security mode="TransportCredentialOnly">
<transport clientCredentialType="Ntlm" proxyCredentialType="None" realm="" />
<message clientCredentialType="UserName" algorithmSuite="Default" />
</security>
</binding>
Add the following to the client
element under the system.ServiceModel
XPath
(if the client
element does not exist, create it):
<endpoint binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_ISharePoint2010UserProfileService"
contract="UserProfileManager.ISharePoint2010UserProfileService" name="BasicHttpBinding_ISharePoint2010UserProfileService" />
<endpoint binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_ISharePoint2010OrganisationProfileService"
contract="OrganizationProfileManager.ISharePoint2010OrganisationProfileService"
name="BasicHttpBinding_ISharePoint2010OrganisationProfileService" />
Note that the address does not contain the "/MEX" extension used in the confirmation above.
Following the configuration change, the service must be restarted.
Customer support service by UserEcho