Проблема с подключением к серверу мейнфреймов

Я пытаюсь подключиться к серверу мэйнфреймов и отправить задание.

Я пробовал различные варианты, например плагин Jenkins, написание программы на Java, использование командной строки Widows. Кажется, я застрял в одном месте. Похоже, ждет приветственное сообщение и тайм-аут после 20 секунд бездействия.

Использование командной строки:

ftp> open  <IP Address> 23
Connected to <IP Address>.
Connection closed by remote host.

Использование примера программы на Java:

Он застревает на ftp.connect(serverName,23); в течение очень долгого времени, а затем выдает следующую ошибку.

    java.io.IOException: Timed out waiting for initial connect reply
at org.apache.commons.net.ftp.FTP._connectAction_(FTP.java:393)
at org.apache.commons.net.ftp.FTPClient._connectAction_(FTPClient.java:924)
at org.apache.commons.net.ftp.FTPSClient._connectAction_(FTPSClient.java:207)
at org.apache.commons.net.SocketClient.connect(SocketClient.java:183)
at org.apache.commons.net.SocketClient.connect(SocketClient.java:203)
at com.ivl.util.FileTransferProtocol.main(FileTransferProtocol.java:60)
Caused by: java.net.SocketTimeoutException: Read timed out
at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream.socketRead(Unknown Source)
at java.net.SocketInputStream.read(Unknown Source)
at java.net.SocketInputStream.read(Unknown Source)
at sun.nio.cs.StreamDecoder.readBytes(Unknown Source)
at sun.nio.cs.StreamDecoder.implRead(Unknown Source)
at sun.nio.cs.StreamDecoder.read(Unknown Source)
at java.io.InputStreamReader.read(Unknown Source)
at java.io.BufferedReader.fill(Unknown Source)
at java.io.BufferedReader.read(Unknown Source)
at org.apache.commons.net.io.CRLFLineReader.readLine(CRLFLineReader.java:58)
at org.apache.commons.net.ftp.FTP.__getReply(FTP.java:314)
at org.apache.commons.net.ftp.FTP.__getReply(FTP.java:294)
at org.apache.commons.net.ftp.FTP._connectAction_(FTP.java:387)
... 5 more

Я также пытаюсь использовать Filezilla, вот журнал filezilla, установленный на уровне отладки.

 12:38:36   Status: Connecting to <IP Address>:23...
12:38:36    Status: Connection established, initializing TLS...
12:38:36    Trace:  CTlsSocket::Handshake()
12:38:36    Trace:  CTlsSocket::ContinueHandshake()
12:38:36    Trace:  TLS handshake: About to send CLIENT HELLO
12:38:36    Trace:  TLS handshake: Sent CLIENT HELLO
12:38:36    Trace:  CTlsSocket::OnSend()
12:38:36    Trace:  CTlsSocket::OnRead()
12:38:36    Trace:  CTlsSocket::ContinueHandshake()
12:38:36    Trace:  CTlsSocket::OnRead()
12:38:36    Trace:  CTlsSocket::ContinueHandshake()
12:38:37    Trace:  CTlsSocket::OnRead()
12:38:37    Trace:  CTlsSocket::ContinueHandshake()
12:38:37    Trace:  TLS handshake: Received SERVER HELLO
12:38:37    Trace:  TLS handshake: Processed SERVER HELLO
12:38:37    Trace:  TLS handshake: Received CERTIFICATE
12:38:37    Trace:  TLS handshake: Processed CERTIFICATE
12:38:37    Trace:  TLS handshake: Received SERVER HELLO DONE
12:38:37    Trace:  TLS handshake: Processed SERVER HELLO DONE
12:38:37    Trace:  TLS handshake: About to send CLIENT KEY EXCHANGE
12:38:37    Trace:  TLS handshake: Sent CLIENT KEY EXCHANGE
12:38:37    Trace:  TLS handshake: About to send FINISHED
12:38:37    Trace:  TLS handshake: Sent FINISHED
12:38:37    Trace:  CTlsSocket::OnRead()
12:38:37    Trace:  CTlsSocket::ContinueHandshake()
12:38:37    Trace:  TLS handshake: Received FINISHED
12:38:37    Trace:  TLS handshake: Processed FINISHED
12:38:37    Trace:  TLS Handshake successful
12:38:37    Trace:  Protocol: TLS1.2, Key exchange: RSA, Cipher: AES-256-GCM, MAC: AEAD
12:38:37    Status: Verifying certificate...
12:38:37    Status: TLS connection established, waiting for welcome message...
12:38:37    Trace:  CFtpControlSocket::OnReceive()
12:38:57    Error:  Connection timed out after 20 seconds of inactivity
12:38:57    Trace:  CControlSocket::DoClose(2050)
12:38:57    Trace:  CFtpControlSocket::ResetOperation(2114)
12:38:57    Trace:  CControlSocket::ResetOperation(2114)
12:38:57    Error:  Could not connect to server
12:38:57    Trace:  CFileZillaEnginePrivate::ResetOperation(2114)
12:38:57    Status: Waiting to retry...
12:39:00    Trace:  CControlSocket::DoClose(64)
12:39:00    Trace:  CControlSocket::DoClose(64)

Я могу использовать Mocha TN3270 или любые эмуляторы мэйнфреймов для подключения к тому же серверу. Что странно.

Подключено с помощью Mocha

Я не понимаю, что может быть причиной этого и как решить проблему. Моя цель - подключиться и отправить пакетное задание программно, я могу использовать пакетный файл, программу Java и т. Д. Пока все мои попытки кажутся тщетными .


person Dodo is Dead    schedule 10.10.2016    source источник
comment
Сеансы терминала не являются сеансами протокола передачи файлов (FTP). Вам потребуется специальное программное обеспечение для связи с мейнфреймом (детали будут зависеть от характеристик мейнфрейма и его конфигурации).   -  person Richard    schedule 10.10.2016
comment
Если вам разрешен доступ к этой системе, кто-то предоставит вам всю информацию о том, как вы сможете получить доступ к этой системе. Никто здесь не может вам помочь.   -  person Bill Woodger    schedule 10.10.2016
comment
Спасибо, я могу подключиться с помощью любых эмуляторов мэйнфреймов, например. Mocha и создавать и запускать рабочие места, это работает. Это вся информация, которую я получил. Теперь я хочу иметь возможность запускать одно и то же задание в среде CI с помощью Jenkins, для этого я пробую Java или CMD.   -  person Dodo is Dead    schedule 10.10.2016
comment
Так что вы должны сообщить об этом своей службе поддержки, а не нам.   -  person Bill Woodger    schedule 10.10.2016


Ответы (1)


Я правильно понимаю, вы пытаетесь подключиться по FTP к порту 23? Это не тот порт, который обычно использует FTP. Порт 23 может быть тем местом, к которому подключается ваша TN3270, но FTP, вероятно, подключается к обычному порту 21, а Telnet/SSH, вероятно, подключается к другому порту — вам придется спросить своего дружелюбного местного системного администратора, какой порт.

На самом деле, если вы расскажете им, что вы пытаетесь сделать, они, вероятно, смогут вам помочь или, возможно, скажут, что это запрещено. В любом случае вы должны быстрее получить реальный ответ, специфичный для вашей среды.

person randomScott    schedule 11.10.2016
comment
Если параметр JESINTERFACELEVEL подсистемы ввода заданий установлен правильно и все сопутствующие меры безопасности обеспечены, то, что желает OP, может быть достигнуто. Как неоднократно указывалось ОП, они должны связаться со своим персоналом службы поддержки. - person cschneid; 11.10.2016