I'm trying to get a file from a ftp server trough ftps. This post is updated with more test results and knowledge from replies and my own research. The ftp server support ftps Implicit SSL/TLS mode on port 990 and Exlicit mode on port 21. I have tried to get the file from Logic apps and Data factory, both unsuccessful.
Testing Implicit mode. Port 990, Enable SSL, Binary transport true/false tried both(Logic App), Server Certificate Validation disabled, yields this error:
Data factory error:
"Failed to connect to FTP server. ADF doesn't support SSL/TLS implicit encryption mode. Please make sure you are connecting by explicit encryption mode. The underlying connection was closed: The server committed a protocol violation."
Logic apps error:
{
"error": {
"code": 502,
"source": "logic-apis-northeurope.azure-apim.net",
"clientRequestId": "c935a165-c725-4d26-824d-d1df3c82a65c",
"message": "BadGateway",
"innerError": {
"status": 502,
"message": "An FTP protocol violation was detected. This could be caused by an implicit TLS/SSL configuration of the FTP server that is not supported. Please try explicit TLS/SSL.\r\nclientRequestId: c935a165-c725-4d26-824d-d1df3c82a65c",
"error": {
"message": "An FTP protocol violation was detected. This could be caused by an implicit TLS/SSL configuration of the FTP server that is not supported. Please try explicit TLS/SSL."
},
"source": "ftp-ne.azconn-ne.p.azurewebsites.net"
}
}
}
As the response below indicate, either Data Factory nor Logig apps supports implicit mode.
Testing Explicit mode. Port 21, Enable SSL, Binary transport true/false tried both(Logic App), Server Certificate Validation disabled, yields this error:
Data Factory error:
"Failed to connect to FTP server. Please make sure the provided server informantion is correct, and try again. The remote server returned an error: 150 Opening data channel for directory listing of "/" . Authentication failed because the remote party has closed the transport stream"
Logic App error:
{
"error": {
"code": 502,
"source": "logic-apis-northeurope.azure-apim.net",
"clientRequestId": "61a1cc3e-74f3-40ac-a9f3-79a1409d81cc",
"message": "The response is not in a JSON format.",
"innerError": "The specified CGI application encountered an error and the server terminated the process."
}
}
Test using FileZilla client.
Both implicit port(990) and explicit mode (port 21) works fine. My original question where: Is there any way to get the FTP connection in either Data factory or Logic Apps to work with SSL/TLS implicit mode? As the response below states. Logic Apps and Data factory does not support Implicit mode.
A work around is to create a Function App, with c# code that gets the file trough implicit mode. And call the Function App from logic apps and/or data factory.
But why isn't explicit mode work? Any tips?