Hello,
I'm calling a WCF service by using this X code:
// Use the AifUtil class to create an instance of the service client object.
searchClient = AifUtil::CreateServiceClient(clientType);
The code is working, but yesterday I received a System.TimeoutException because the remote WCF service was not reachable.
This is the stacktrace (sorry, it's an image):

What puzzles me is that exception should have been caught, since my code is:
try
{
//Construct and configure the service client by retrieving the X type for the service and using the AifUtil class
clientType = CLRInterop::getType('FAB_CrifIntegrationV2.ServiceReference.SearchClient');
// Use the AifUtil class to create an instance of the service client object.
searchClient = AifUtil::CreateServiceClient(clientType);
searchResponse = searchClient.CompanySearch(m_username, m_password, guid2str(transactionGuid), null, searchData,
byRef inquiryDetails, byRef companyList);
// ...
}
catch (Exception::CLRError)
{
// Handle the exception and display message in the InfoLog.
ex = CLRInterop::getLastException();
error(ex.ToString());
// ...
}
As per my understanding of MS Dynamics documentation, catching CLRError is exactly for this cases (i.e. exceptions thrown by CLR objects) but System.TimeoutException seems to have by-passed it.
Can you advise, please?