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?