I have the following scenario:
- Multiple Request/Response schemas published as methods in WCF basic http two-way service under IIS
- Two-way WCF BasicHttp Receive port/location (ReceiveLocationA) connected to the mentioned SVC published in IIS
- OracleDb send/receive port to call stored procedures (SendPortA) in my Oracle DB
- Inbound/outbound maps in SendPortA to map between WCF schemas and SP request/response schemas
- Filters on SendPortA to subscribe to corresponding BTS.MessageType and SOAP.MethodName, i.e. requests coming from ReceiveLocationA
Sample action mapping in SendPortA:
<BtsActionMappingxmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:xsd="http://www.w3.org/2001/XMLSchema"><OperationName="Get_Subscription_Info"Action="http://Microsoft.LobServices.OracleDB/2007/03/OCRM/Package/DPKG_OCRM_GENERAL/GET_SUBSCRIPTION_INFO"/><OperationName="Get_Products"Action="http://Microsoft.LobServices.OracleDB/2007/03/OCRM/Package/DPKG_OCRM_GENERAL/GET_PRODUCTS"/><OperationName="GetContractInfo"Action="http://Microsoft.LobServices.OracleDB/2007/03/OCRM/Package/DPKG_OCRM_GENERAL/GET_CONTRACT_INFO"/><OperationName="GetHistory"Action="http://Microsoft.LobServices.OracleDB/2007/03/OCRM/Package/DPKG_OCRM_GENERAL/GET_HISTORY"/></BtsActionMapping>
As you can see it is a pretty simple scenario: I successfully call the published WCF service, it maps request to corresponding SP (stored proc) call, then maps SP response back to WCF service method response.
IT WORKS FOR ME PRETTY GOOD, even for weeks, then at some point, due to temporary failures I get suspended messages (actually, timed out or unwanted calls to SendPortA), terminate them manually in BT admin console and all subsequent calls to my published WCF service go through to SendPortA and get stuck there with a long timeout. Of course, there is no sense to resume these, since WCF client also times out and I just can't send response from SendPortA back to service client (just can only terminate the SendPortA message instances)
I just wonder why at some point without any exception traces in system's event log ALL the requests to SendPortA start to timeout (no matter I set port-level connection timeouts to 1, 10 or 20 minutes). Actually the SP execution take less than a second and right at the moment when all my WCF calls start to timeout in OracleDB adapter (SendPortA) I am able to call the same SPs and get results though an orchestration via DLL call in atomic scope.
How can I see what's happening at adapter level and is there a way to somehow reset OracleDb adapter? Maybe I am speaking absurd things, but I really can't understand what's the matter with OracleDb adapter.
Only server restart helps. I tried to iisreset, start/stop all instances and apps in BT - nothing else than system restart helps. It is a development server and I can't imagine such a "solution" when my app migrates to live BT cluster.