Configure the Service Parameters (wsHttpBinding)

Use this procedure to configure the service parameters in order to use the wsHttpBinding configuration.

To configure the service parameters to use wsHttpBinding:

  1. Click Start > Windows Administrative Tools > Services.
  2. In the Services window, locate the Ideablade Persistence Server service, right-click it, and click Stop.
  3. Navigate to the Cobra installation directory and open the Server folder (for example, C:\Program Files (x86)\Deltek\Cobra\Server).
  4. Locate the ServerService.exe.config file and open it using a text editor (such as Notepad).
  5. Update the endpoints to use the security protocol required to enable Windows authentication.
    1. Change the binding tag value from customBinding to wsHttpBinding.
    2. Change the bindingConfiguration tag value from compressedBinaryBinding to wsCustom.
    3. Uncomment the identity tags for both endpoints.
    Before

    <service name="PersistenceService" behaviorConfiguration="Behavior1">

    <endpoint address="http://<COBRA SERVER NAME>:9009/PersistenceService" binding="customBinding" bindingConfiguration="compressedBinaryBinding" contract="IdeaBlade.Persistence.Wcf.IWcfPersistenceService">

    <!--<identity><servicePrincipalName value="Local Network"></servicePrincipalName></identity>-->

    </endpoint>

    </service>

    <service name="IdeaBlade.Persistence.Wcf.WcfPersistenceServer" behaviorConfiguration="Behavior1">

    <endpoint address="http://<COBRA SERVER NAME>:9009/PersistenceServer" binding="customBinding" bindingConfiguration="compressedBinaryBinding" contract="IdeaBlade.Persistence.Wcf.IWcfPersistenceServer">

    <!--<identity><servicePrincipalName value="Local Network"></servicePrincipalName></identity>-->

    </endpoint>

    </service>

    After

    <service name="PersistenceService" behaviorConfiguration="Behavior1">

    <endpoint address="http://<COBRA SERVER NAME>:9009/PersistenceService" binding="wsHttpBinding" bindingConfiguration="wsCustom" contract="IdeaBlade.Persistence.Wcf.IWcfPersistenceService">

    <identity><servicePrincipalName value="Local Network"></servicePrincipalName></identity>

    </endpoint>

    </service>

    <service name="IdeaBlade.Persistence.Wcf.WcfPersistenceServer" behaviorConfiguration="Behavior1">

    <endpoint address="http://<COBRA SERVER NAME>:9009/PersistenceServer" binding="wsHttpBinding" bindingConfiguration="wsCustom" contract="IdeaBlade.Persistence.Wcf.IWcfPersistenceServer">

    <identity><servicePrincipalName value="Local Network"></servicePrincipalName></identity>

    </endpoint>

    </service>

  6. Verify that the MaxBufferPoolSize of wsCustom binding within the wsHttpBinding is set to 0.
    Before

    <wsHttpBinding>

    <binding name="wsCustom" closeTimeout="10:01:00" openTimeout="10:01:00" receiveTimeout="10:01:00" sendTimeout="10:01:00"

    maxReceivedMessageSize="2147483647">

    <security mode="Message">

    <transport clientCredentialType="Windows" />

    </security>

    <readerQuotas maxDepth="2147483647"

    maxNameTableCharCount="2147483647" maxBytesPerRead="2147483647"

    maxArrayLength="2147483647" maxStringContentLength="2147483647"/>

    </binding>

    </wsHttpBinding>

    After

    <wsHttpBinding>

    <binding name="wsCustom" closeTimeout="10:01:00" openTimeout="10:01:00" receiveTimeout="10:01:00" sendTimeout="10:01:00" maxBufferPoolSize="0"

    maxReceivedMessageSize="2147483647">

    <security mode="Message">

    <transport clientCredentialType="Windows" />

    </security>

    <readerQuotas maxDepth="2147483647"

    maxNameTableCharCount="2147483647" maxBytesPerRead="2147483647"

    maxArrayLength="2147483647" maxStringContentLength="2147483647"/>

    </binding>

    </wsHttpBinding>

  7. Configure application settings to enable Windows authentication.
    1. Change the PerformDomainAuthentication setting value from false to true.
    2. Add a list of domain groups to the Role setting to only allow members of those groups to access Cobra.
    Before

    <appSettings>

    <add key="ConcurrentProcesses" value="8" />

    <add key="PerformDomainAuthentication" value="false" />

    <add key="Roles" value="" />

    </appSettings>

    After

    <appSettings>

    <add key="ConcurrentProcesses" value="8" />

    <add key="PerformDomainAuthentication" value="true />

    <add key="Roles" value="BUILTIN\Administrators" />

    </appSettings>

  8. Start the Ideablade Persistence Server service.