FAQ: Reverse Invoke
- Q: How can I trace errors in case of problems with the Reverse Invoke?
A: RI-related error messages usually appear in the server log. Be sure that the corresponding logging facility is activated. This could be done via Administrator UI (Settings -> Logging). The facilities in question are:
BC Release 4.0.1:
REVINV (Reverse Invoke ) and CONAPI (Asynchronous Connection API)
BC Release 4.6:
0079 Reverse Invoke and 0080 Asynchronous Connection API
- Q: I created a remote server alias on my internal server for the Reverse Invoke server. Why do I keep receiving the message "Unable to connect to the remote server ..." if I try to test it from the Admin UI?
A: It is done by design so that you cannot test a remote server alias for the RI server in this manner. In the 4.6 release there is a warning on the "Remote Servers" page that points to this fact.
- Q: I created a remote server alias on my internal server for the Reverse Invoke server, but I am not able to register any reverse invoke connections. The error message I receive is "Access denied".
A: Please check if the user you have specified in the remote server alias has sufficient authorizations on the Reverse Invoke server. This user should belong to the Administrators Group or to any group associated with the Administrators ACL.
- Q: I am still unable to register any reverse invoke connections from my internal server. If I examine the server log of the Reverse Invoke server, I see that the request from the internal server comes in, but ends up with the error: Exception in SocketLink receive: null
What does this error mean?
A: The most common reason is that the user/password data in the remote server alias settings are incorrect/missing. In the 4.0.1 release it could be due to the GUI error. Here you need to re-enter the password each time you edit the remote server alias. Otherwise, it will be lost.
- Q: My attempt to register reverse invoke connections fails. The error message I see in the server.log of the RI server is: Exception in SocketLink receive: InputStream does not contain a serialized object. What could be the reason?
A: First please check that the both Business Connectors use the same JVM version. The combination of JDK/JRE 1.2.2 & 1.3.* is not recommended.
- Q: I am using the Business Connector 4.0.1. I have successfully registered reverse invoke connections and was able to receive messages from external clients. But after some time my partners get the error message: "Server is not accepting requests at this time" and no requests go through anymore. How can I change this behavior?
A: It looks like the reverse invoke connections have been closed by your firewall after they have been idle for a while. To keep them alive, install the Core Fix >=2 on both BC servers. The service wm.server.security.revInvoke:keepAliveConnections should appear as scheduled task on your internal server, it is executed every 60 sec by default, but you can change this interval as appropriate.
- Q: I am using the BC version 4.0.1 and would like to configure a filtering service on my RI server. Altough I proceeded as described in the documentation, the filtering service does not seem to be activated.
A: Please make sure that the Core Fix >= 2 is installed on the both Business Connector servers. Also please use the following server configuraton parameters for the filtering service:
This has been an error in the documentation.
- Q: I would like to catch some HTTP request header fields of an incoming request on the RI server and then pass them to the internal server. Is a filtering service the right way to do this?
A: No. A filtering service just "filters" incoming messages. This means that the service is invoked on each request and, if the service has run without errors, the request is passed to the internal server, otherwise not. The filtering service does not update the pipeline.