I need help with setting up my internal IS 4.6 server with my RI IS 4.6 server.
As, I understood from these forums, I did the following:
Scheduled wm.server.security.revInvoke:keepAliveConnections every 60 seconds.
Scheduled services to:
wm.server.remote:getServerAliases
wm.server.security.revInvoke:listRegisteredConnections
wm.server.security.revInvoke:registerReverseConnections
This solved my problem of the internal server loosing/dropping registered connections to the proxy.
However, I still have a problem that my Reverse Invoke server is STILL showing all connections. For example, if I loose 5 connections, and my internal connections registers 5 more (because they were dropped/lost), then my Reverse Invoke Server shows 10 registered connections.
And when our partners send transmissions, the RI server attempts to invoke services on the closed/dropped connections, and goes into “pending” status.
Can someone help me solve this? Is there a way for me drop all RI connections before registering new ones?
Check your “idle timeout setting” on the remote server definition on the RI server. I have seen this issue when the idle timeout was set to -1 (never timeout).
FYI,
I submitted this problem to webMethods and received this response:
“… In general, when RepoV2 starts up, it searches for the WmRDBContainer table anywhere in the Oracle Instance. Not sure if you have tried connecting earlier to the same database with a different user for the repo, causing this table to be created initially. In case you then switched to another user, its possible that this table is still found in the database from the first user install of reposerver and it assumes that the RepoV2 tables are already there. However, when RepoV2 tries to do a select on the WmRDBContainer table it doesn’t find it amongst the tables of the new user causing the exception. …”
This, indeed, explained the cause of the exception, in my case. I was able to drop the old tables and was able to start the repov2 server without error.
The “idle timeout was set to -1” solution doesn’t seem to work. I came to work on Monday, and noticed that the Proxy was still not dropping ‘dead’ connections.
I am also a little puzzled with Steps 3-4 of Fix144 patch:
>3. Create a stateless dummy service on the Internal Reverse Invoke
> Server.
I have to create a dummy service on the RI server, or my internal integration server?? Why do I need to do this
>4. Add the property below to the Proxy Reverse Invoke Server
> IntegrationServerdirectory/config/server.cnf file.
>
> watt.server.security.revInvoke.remoteSvc
>
> and specify the service created in step 3 for this property.
Why do I need to do this, when I am going to schedule: wm.server.security.revInvoke:checkRemoteConnections?
The wordings in readme.txt are definitely confusing.
You should create a service without any steps on your internal server. This should be a stateless service.
You have to schedule wm.server.security.revInvoke:checkRemoteConnections on your reverse invoke server. wm.server.security.revInvoke:checkRemoteConnections reads watt.server.security.revInvoke.remoteSvc from the config file, makes one connection for each connection between rev/invoke and internal server, and tries to execute dummy service that you have created. If it fails, it would mark connection as dead and remove it.
Note: As per the code, if you have not configured watt.server.security.revInvoke.remoteSvc, it should call wm.server:ping. In case you do not want to create any dummy service, you can set watt.server.security.revInvoke.remoteSvc to wm.server:ping.
So, can I simply specify: “watt.server.security.revInvoke.remoteSvc=wm.server:ping”
or should I specify:
“watt.server.security.revInvoke.remoteSvc=http://internalServer:socketPort/wm.server:ping”?
In regards to not registering. Well, I am new to these boards (and also fairly new to webMethods). I will register shortly, and hope that I can also contribute.
We are also facing the same problem in our system.
In case the inactive connections are not dropped,and as per the code,wm.server:ping is called in case of using the inactive connections,will the server logs be populated with “[ISS.0036.0009E] Ping Failed”?