I have a simple Flow that write on SFTP folder. When it finish to write it keep on connection.
Is possible to close the connection with the SFTP server when the file has been written?
Thanks.
Related
I have a requirement to send a 10 GB file to a client SFTP server through an automated process. We are using BMC Control-M to automate the whole process.
However, the client SFTP Server disconnects the session after 300 seconds due to inactivity. And since the file size is quite big, file transfer fails due to SFTP Server disconnect.
During testing, I was sending the file manually, through WinSCP. In WinSCP, we have an option called Keepalives, that will keep a FTP connection alive.
Is there any similar option we can set in Control-M AFT settings?
This can be changed by right clicking on the "Control-M for Advanced File Transfer" (or "Control-M for Managed File Transfer", depending on which version you have) in Control-M Configuration Manager (CCM).
From there, open "Configuration Management" then update "Connection timeout (seconds)" to your required value.
My Mirth Connect v3.4 channel's File Reader source connector is configured as the SFTP reader to poll files from a remote server every 20 minutes and it works as expected.
But when the channel goes idle it starts sending keepalive#jcraft.com messages to the remote server every 10 seconds regardless of the Timeout setting of that source connector.
Is there anything else to configure to stop these messages from being sent to keep connection alive or is there any workarounds other than restarting the channel after each poll by some other channel?
From the JSch changelog:
change: at TCP socket reading timeout, keep-alive message will be sent
to the remote sshd. To disable this functionality, invoke
explicitly Session.setServerAliveCountMax(0)
Unfortunately JSch does not provide any way to set this value from its own configuration file. So you'll have to use JavaScript and create a Session manually.
Is there a way to save the "state" of Winsock so that the server program can be stopped and restarted and all the client TCP connections continue as though nothing happened, without the clients having to do anything special?
Or is it the case that once a Winsock server process terminates, client connections can only be reestablished through all the usual initialization calls?
A lost/closed connection must be re-established through a new connect handshake. So if you don't want the client to know the server is restarted, you will have to move the existing connection to another process first, then move it back after the restart. You can use WSADuplicateSocket() for that.
When my customers are trying to transfer the files through ftp system, they are getting this error. It seems like the ftp connection is established however because of some unknown reasons the data is not transferring. This is a connection from VMS system to a Unix server.
230 User 1234567 logged in
bin
200 PORT command successful.
hash
Hash mark printing on (1024/hash mark).
put abc.str
200 PORT command successful.
150 Opening BINARY mode data connection for abc.str
%TCPIP-E-FTP_DATACONF, cannot establish data connection with remote host
-SYSTEM-F-REJECT, connect to network object rejected
226 Transfer complete.
421 Service not available, Remote server has closed the connection
If you use VMS FTP then use:
set passive on
before you start the data connection.
If you use VMS COPY /FTP then use:
copy /ftp/passive
to use passive mode.
For more information, see
ftp> help set passive
and
$ help copy /ftp
I am using a Socket (not xmlSocket) connection between flex applications and the server pushing messages.
Now, when I connect from the local machine to the server everything is working file and running, connection is succesful and I get data back and forth.
When I upload the application (flex) to the server and run it from there, I get a security sandBox violation message.
Note:
1. I do have a crossdomain file with * wildcard both on port and on domain.
2. I created a Securiy.allowDomain("*") as well.
Another thing.
I also created another listener on that same server, listening to connections for port 843 (default) and this service just waited for a connection send policy file to the client and that's it.
That did not solve the problem as well...
That's next?
What should I do to fix the problem?
Appreciate your help.
Avi
The fix for this issue was a dedicated policy file serving server.
I implemented a socket listening to the dedicated port where flex is looking for policy file, once I got a connection and a request I answered right back with the appropriate policy file.
This solved the problem for all users and is working very well for me.
Thanks
did you try Security.loadPolicyFile? Does your server on port ever actually 843 receive policy file requests (that's a tiny XML sent to request the crossdomain policy file)? Does your actual server ever receive policy file requests? What traffic do you get on your server?
greetz
back2dos
.NET
Add crossdomain.xml to your Web server root directory, for example,
C:\inetpub\wwwroot.
Java
Add crossdomain.xml to \ArcGIS\java\web_output, for example,
C:\Program Files\ArcGIS\java\web_output.
http://resources.esri.com/help/9.3/arcgisserver/apis/flex/help/content/deploy_application.htm