Hi All,
Last night we faced an issue where one of our frond end servers lost connection with TN database suddenly. It remained in that state fr quite sometime and today early morning it got connected automatically. Could you help me finding out the reason? The huge error log says -
2007-09-11 23:59:59 CEST WMERROR 53b0727060b211dc977de768cf722630NULL 53b0727060b211dc977de768cf7226301189547999770
com.wm.app.b2b.server.ServiceException: [101.518]
*** Exception: Unable to connect to database! com.wm.app.b2b.server.ServiceException: [101.518] *** Exception: Unable to connect to database!
at com.wm.app.prt.util.PRTCrossRef.map(PRTCrossRef.java:343)
at com.wm.app.prt.tn.TNDispatcher.getInstanceId(TNDispatcher.java:69)
at com.wm.app.prt.tn.TNDispatcher.handleBizDoc(TNDispatcher.java:353)
at pub.prt.tn.handleBizDoc(tn.java:125)
at sun.reflect.GeneratedMethodAccessor93.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at com.wm.app.b2b.server.JavaService.baseInvoke(JavaService.java:322)
at com.wm.app.b2b.server.invoke.InvokeManager.process(InvokeManager.java:612)
at com.wm.app.b2b.server.invoke.StatisticsProcessor.process(StatisticsProcessor.java:44)
at com.wm.app.b2b.server.invoke.ServiceCompletionImpl.process(ServiceCompletionImpl.java:226)
at com.wm.app.b2b.server.invoke.ValidateProcessor.process(ValidateProcessor.java:49)
at com.wm.app.b2b.server.ACLManager.process(ACLManager.java:198)
at com.wm.app.b2b.server.invoke.DispatchProcessor.process(DispatchProcessor.java:39)
at com.wm.app.b2b.server.AuditLogManager.process(AuditLogManager.java:411)
at com.wm.app.b2b.server.invoke.InvokeManager.invoke(InvokeManager.java:521)
at com.wm.app.b2b.server.invoke.InvokeManager.invoke(InvokeManager.java:369)
at com.wm.app.b2b.server.ServiceManager.invoke(ServiceManager.java:246)
at com.wm.app.b2b.server.BaseService.invoke(BaseService.java:168)
at com.wm.lang.flow.FlowInvoke.invoke(FlowInvoke.java:324)
at com.wm.lang.flow.FlowState.invokeNode(FlowState.java:581)
at com.wm.lang.flow.FlowState.step(FlowState.java:438)
at com.wm.lang.flow.FlowState.invoke(FlowState.java:403)
at com.wm.app.b2b.server.FlowSvcImpl.baseInvoke(FlowSvcImpl.java:982)
at com.wm.app.b2b.server.invoke.InvokeManager.process(InvokeManager.java:612)
at com.wm.app.b2b.server.invoke.StatisticsProcessor.process(StatisticsProcessor.java:44)
atwm.tn.doc.xml:routeXml
We have two servers connecting to the same TN DB (MS Sql 2005).
One of them would loose connection and the other not. It has now happened once for each of the two servers.
Restarting the IS that can no longer connect solves the problem or if left long enough (first time it happened overnight) it regains connection after some hours.
Test running the TN DB connection in JDBC pools is working fine. Also I am able to access the database as well. All select queries to TN database are also working fine. Re-started the webMethods IS didn’t helped too.
We are getting this error while invoking wm.tn.route:routeBizdoc service.
Please help !!
com.wm.app.b2b.server.ServiceException: [101.518] *** Exception: Unable to connect to database!
at com.wm.app.prt.util.PRTCrossRef.map(PRTCrossRef.java:336)
at com.wm.app.prt.tn.TNDispatcher.getInstanceId(TNDispatcher.java:70)
at com.wm.app.prt.tn.TNDispatcher.handleBizDoc(TNDispatcher.java:353)
at pub.prt.tn.handleBizDoc(tn.java:125)
at sun.reflect.GeneratedMethodAccessor278.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:618)
at com.wm.app.b2b.server.JavaService.baseInvoke(JavaService.java:403)
at com.wm.app.b2b.server.invoke.InvokeManager.process(InvokeManager.java:631)
at com.wm.app.b2b.server.util.tspace.ReservationProcessor.process(ReservationProcessor.java:40)
at com.wm.app.b2b.server.invoke.StatisticsProcessor.process(StatisticsProcessor.java:44)
at com.wm.app.b2b.server.invoke.ServiceCompletionImpl.process(ServiceCompletionImpl.java:253)
at com.wm.app.b2b.server.invoke.ValidateProcessor.process(ValidateProcessor.java:51)
However setting the minimum connections to 0 didn’t helped either.
IS&TN version : 7.1.2
Database :- Oracle 10G
Alias Name TN DB
Alias Description TN DB
Associated Driver Alias DataDirect Connect JDBC Oracle Driver
Database URL jdbc:wm:oracle://xxxx;serviceName=xxxx
User Id xxxx
Password *****
Minimum Connections 0
Maximum Connections 100
Idle Timeout 60000 milliseconds
I will get in touch with DBA now to find any potential problem with database.
Make sure you don’t have any issues with your DB (db going down or connection issues) and network failure and you are sure that everything is fine raise a ticket with SAG global support and wait for their response…
Lets see what they say and update the thread back with details
While drilling down to the issue, we got to know that when we pass “ConversationID” under bizdoc then we get this error, however we checked that we are passing normal string as “ConversationID”
Do you know what could have gone wrong here? we found the table structure of Bizdoc table and the column “ConversationID” has datatype “varchar2(300)”
Is your WmPRT package enabled as you are using converstationID in the TN? If yes did you configure the ProcessEngine alias (assuming you have installed all process engine component tables?
yes WmPRT package is Enabled but Process Engine alias is not configured on IS. Can you please help me to understand what is the relation between these two ?
OK please create Process Engine alias and make sure have run the process engine component tables via db configurator and point the alias to the PE and restart the IS.
From 7.x The conversationID is now the part of the BPM processing (modeller) that is used by TN internally and it uses WmPRT.
After that the issue with the conversationID error should go away.
Hi Amit,
A business process model can be triggered using few ways (Publishing document, using JMS etc.,). There is an option to trigger business process model using Trading Network document as well. When you invoke routeBizDoc service, it will push a document to TN, which potentially can trigger a process model. However, you said process engine is not even configured, so I think this can’t be a reason.
The error indicates, execution tries to refer PTR Cross reference table. This table is used when you have a process instance in started state waiting for a reply document to join back the execution of instance. What kind of data are you passing in conversationID? Is it some kind of instance id?
As you are not using Process engine, give a try by pointing the Process Audit JDBC pool to ‘Embedded DB Pool’, and see if routeBizDoc executes fine.