I worked a case recently that was a very easy fix if I knew what I were looking for.

The customer was using the Web Services Connector Application to connect to an SAP server.  We determined over a period of time that while the imports were running, they were not completing.  Further troubleshooting from the customer side of things determined that the FIM server was not dropping the ports and was leading to port exhaustion.  The only way to resolve the issue was to stop the agent from running, reboot the FIM server and start the import process again once the server was stable.

The end result was that this would happen again very soon.

It was determined that the problem was in the .wsconfig file associated with the SAP web Services Connector

In the bindings section of the .wsconfig file there is a tag regarding cookies:

<?xml version="1.0" encoding="utf-8"?><configuration>
                                          <system.serviceModel>
                                              <bindings>
                                                  <basicHttpBinding>
                                                      <binding name="nameofserverhostingthedata" closeTimeout="00:01:00"
                                                          openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00"
                                                          allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"
                                                          maxBufferSize="2147483647" maxBufferPoolSize="524288" maxReceivedMessageSize="2147483647"
                                                          messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered"
                                                          useDefaultWebProxy="true">
                                                          <readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647"
                                                              maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" />
                                                          <security mode="None">
                                                              <transport clientCredentialType="None" proxyCredentialType="None"
                                                                  realm="" />
                                                              <message clientCredentialType="UserName" algorithmSuite="Default" />
                                                          </security>
                                                      </binding>


After changing the allow cookies= "true" piece of the XML code, the issue was resolved.

Upon discussion with the developers, this behavior allows the web services connector to continue using the same connection rather than establishing multiple connections over and over for the same data.