Modify the Cobra.Api.Exe.Config File in the Workstation Folder

Use this procedure to modify the Cobra.Api.exe.config file on each client workstation that connects to the Cobra application server in order to use wsHttpBinding.

You must perform this procedure on each client workstation that connects to the Cobra application server.

To edit the Cobra.Api.exe.config file in the Workstation folder:

  1. Navigate to the Cobra installation directory and open the Workstation folder (for example, C:\Program Files (x86)\Deltek\Cobra\Workstation).
  2. Locate the Cobra.Api.exe.config file and open it using a text editor (such as Notepad).
  3. Change the configuration file settings to conform to the protocol required by the Cobra application server.
    1. Change the binding tag value for each endpoint from customBinding to wsHttpBinding.
    2. Change the bindingConfiguration tag value for each endpoint from compressedBinaryBinding to wsCustom.
    3. Uncomment the identity tags for both endpoints.
    Before

    <client>

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

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

    </endpoint>

    <!-- One endpoint per data source extension -->

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

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

    </endpoint>

    </client>

    After

    <client>

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

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

    </endpoint>

    <!-- One endpoint per data source extension -->

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

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

    </endpoint>

    </client>

  4. Verify that MaxBufferPoolSize is set to 0 in wsHttpBinding.
    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>

  5. Uncomment the system.net tag on both endpoints.
    Before

    <!--<system.net>

    <connectionManagement>

    <add address="*" maxconnection="8" / >

    </connectionManagement>

    </system.net>-->

    After

    <system.net>

    <connectionManagement>

    <add address="*" maxconnection="8" / >

    </connectionManagement>

    </system.net>