on 08-08-2017 9:49 AM
Dear Community,
I am still learning the PO system, currently I am trying to set up configuration with backup's communication channel. What I mean is, when the main communication channel is not avaiable (e.g. the SFTP server is down), the backup communication channel should be used (backup SFTP server). Is there any possibility to achieve such a scenario on the PO?
Currently I am thinking about writing Java module which will be executed in Sender Communication Channel after CallSapAdapter, and the module will check if the timeout has been reached, based on this, the message will be put to the "Error" directory.
There will be another communication channel which will read the "Error" directory and will forward the messages to the backup SFTP sever.
What do you think about this? Is there any simplest way to achieve this?
Best regards,
Artur
Hi Artur!
Maybe you could take a look at sendNoOp() method of Apache Commons FTPClient class.
For example, in Extended Receiver determination you use this method in java code to "ping" the server and set receiver accordingly. And for each receiver you set its own communication channel.
It's just a thought at first sight.
Regards, Evgeniy.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
I 'm aligned with Evgeniy that it would probably be a better idea to check availability of the endpoint before finalizing the receiver determination step so that the final receiver can easily be determined from your monitoring tools. Besides the option to ping the receiver from an enhanced receiver determination step, you could think of doing it straight from your sender system. We've had a scenario at one of my previous clients where we implemented a ping functionality in ECC to determine whether the main endpoint was up and raised an alert to support in case it wasn't. Instead of raising and alert, the message could automatically be flagged with a routing criterion that would prompt PI to select an alternate receiver.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hello Patrick and Evgeniy,
Many thanks both of you for the advises, I have used enchanced receiver determination. I have created message mapping from IDoc to message type "Receivers" from Basis 7.50, and as a "Service" I am returning my Business Component which is related with correct Communication Channel.
In the UDF I have used the SocketAddress class, and then socket.connect to check if the IP:PORT is reachable.
Best regards,
Artur
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Artur!
Wouldn't you please clarify how will your module check for timeout? And what do you mean saying "timeout" when the target server is down?
Regards, Evgeniy.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
89 | |
10 | |
10 | |
9 | |
6 | |
6 | |
6 | |
5 | |
4 | |
3 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.