FTP Listener Issue

Hi there,

We are encountering a strange issue. We have a FTP listener which runs on a specific port and has a package assigned to it. The access mode is Allow By Default. When trying to connect on the FTP port we get the below error message:

555 Error: java.lang.NullPointerException
Login failed.
421 Service not available, remote server has closed connection

Our IS version is 9.9.
Do you know what might be the cause?
Thanks in advance!

Hi,

can you provide some more details please?

I assume that IS is hosting the FTP Port, right?

Regards,
Holger

Hi Holger,

Yes, the IS hosts the FTP port. It was created under Security->Ports.
Would it be possible that it is a 9.9 bug as on 8.2 it works without any issues?

Hi,

please provide the Fix-Levels of IS 8.2 and IS 9.9 as well as a more detailed log of server log and error log of the affected IS.

Eventually you are missing some settings on the FTP-Port which bloicks the execution of the associated service.
Can you elaborate on this?

Regards,
Holger

Hi Holger,

We have IS_9.9_Core_Fix9 installed.

We created a FTP listener port on 5599 (under Security->Ports) which has package WmRoot assigned. Access mode is ‘Allow by Default’, IP Access is set as ‘Allow by Default’.

Some of our partners are calling one of our services using below script:

curl --verbose -u user:pw -T ${filename} “ftp://ISServer:5599/ns/<path_to_service>/$$;application:x-wmflatfile”

the output is:
555 Error: java.lang.NullPointerException
Login failed.
421 Service not available, remote server has closed connection

Please let me know if you need additional information.

Thanks in advance!

Hi,

please provide the current values for the following extended settings for both IntegrationServers:

  • watt.server.login.userFtpDir
  • watt.server.userFtpDir

Additionally check if there is directory userFTPRoot created under IntegrationServer directory.

Please note that the directory structure has been changed in 9.6:
Before 9.6 there was only IntegrationServer directory available which is representing the default instance and only one instance per installation is possible.
Since 9.6 there is the main IntegrationServer directory available (which usually does not contain any custom code) and additionally there is a directory tree IntegrationServer/instances/ available conataining at least the default instance where the custom code should reside.
Due to this modification it is now possible to have multiple instances in one installation directory.

This might indicate that the FTP URLs invoked by curl are looking at the wrong level for the directory.
Can you check on this?

Regards,
Holger

Hi Holger,

watt.server.login.userFtpDir has the value ‘false’
watt.server.userFtpDir has the value ‘userFtpRoot’

In the /<IS_Server>/99/IntegrationServer/instances/default/ directory there is a /userFtpRoot direcotry

However, we are still getting the error ‘555 Error: java.lang.NullPointerException’ when using the curl command.

Regards,
n23

Hi,

please increase log level in IS Admin UI under Settings → Logging → Server Logger and test again.

Provide us the corresponding server log.
Is there anything related in error log?

Regards,
Holger

Hi Holger,

This is what we got in the log after increasing the logging level:

Session 33ce0d507aa214ddb11fffffffc5e128 - Created in memory.
2017-03-22 10:23:06 CET [ISP.0071.9999T] FTP(:5599)> 5599 FTP server (webMethods Integration Server version 9.9.0.0) ready.
2017-03-22 10:23:06 CET [ISP.0071.9999T] FTP(:5599)< USER
2017-03-22 10:23:06 CET [ISP.0071.9999T] FTP(:5599)> 331 Password required for .
2017-03-22 10:23:06 CET [ISP.0071.9999T] FTP(:5599)< PASS ******
2017-03-22 10:23:06 CET [ISS.0012.0047T] No X509 certificate chain found.
2017-03-22 10:23:06 CET [ISS.0012.9999D] AuthnCacheManager caching record for user
2017-03-22 10:23:06 CET [ISS.0012.0009D] Successfully authenticated user “local/”.
2017-03-22 10:23:06 CET [ISS.0033.0140T] Session 33ce0d507aa214ddb11fffffffc5e128 - Removed from memory.

Regards,
n23

Hi,

in this case I am running out ideas what else should be checked.

Regards,
Holger