Powered By Blogger

Friday, February 1, 2013

BPEL With SFTP Error in establishing a session with SSH Server


BPEL FTP adapter can be configured with SSH protocol  using  two ways
  • username/password authentication 
  • public key based authentication
When you see below errors in the log, then there is a reason for it

oracle.tip.adapter.ftp.SshImpl.SSHSessionImpl.setUpPasswordSocketConnection
The SSH API threw an exception.
"BINDING.JCA-11447"
Error in establishing a session with SSH Server..

Why this error?

There are two reasons I am aware of 
  1. When Daemon that accepts connections on FTP server is not running.If you identify this is the issue then start the daemon then shutdown and start polling composite otherwise files will not be polled even after daemon is started.I believe registered JCA endpoint is getting deactivated after few attempts.
  2. When we change FTP adapter deployment  JNDI properties such as host name,port, authentication type etc..then we will update adapter deployment expecting everything will be all right
For all polling integrations SOA engine will register and activate polling listener during server start up or process deployment or process activate/deactivate and shutdown /start up

After updating adapter deployment,we have adapter instance with modified  values but agent listener is activated with old values.

Solution

It is very simple activate/reactivate the process which will re register the agent listener with modified values
We will see below error when we run the process without restarting

SOA Error Log  
setting up session>
<Jan 30, 2013 2:19:12 AM PST> <Error> <oracle.soa.adapter> <BEA-000000> <FTP Adapter ProcessName
BINDING.JCA-11445
The SSH API threw an exception.
The SSH API threw an exception.
The SSH API threw an exception.
Maverick has not been setup properly. Please correct the setup.

        at oracle.tip.adapter.ftp.SshImpl.SSHSessionImpl.setUpPasswordSocketConnection(SSHSessionImpl.java:206)
        at oracle.tip.adapter.ftp.SshImpl.SSHSessionImpl.<init>(SSHSessionImpl.java:128)
        at oracle.tip.adapter.ftp.SshImpl.SshImplFactory.getSshImpl(SshImplFactory.java:26)
        at oracle.tip.adapter.ftp.SFTPManagedConnection.setupSftpConnection(SFTPManagedConnection.java:154)
        at oracle.tip.adapter.ftp.SFTPManagedConnection.<init>(SFTPManagedConnection.java:66)
        at oracle.tip.adapter.ftp.FTPManagedConnectionFactory.createManagedConnection(FTPManagedConnectionFactory.java:180)
        at weblogic.connector.security.layer.AdapterLayer.createManagedConnection(AdapterLayer.java:803)
        at weblogic.connector.outbound.ConnectionFactory.createResource(ConnectionFactory.java:91)
        at weblogic.common.resourcepool.ResourcePoolImpl.makeResources(ResourcePoolImpl.java:1310)
        at weblogic.common.resourcepool.ResourcePoolImpl.reserveResourceInternal(ResourcePoolImpl.java:419)
        at weblogic.common.resourcepool.ResourcePoolImpl.reserveResource(ResourcePoolImpl.java:343)
        at weblogic.common.resourcepool.ResourcePoolImpl.reserveResource(ResourcePoolImpl.java:323)
        at weblogic.connector.outbound.ConnectionPool.reserveResource(ConnectionPool.java:620)
        at weblogic.common.resourcepool.ResourcePoolImpl.reserveResource(ResourcePoolImpl.java:317)
        at weblogic.connector.outbound.ConnectionManagerImpl.getConnectionInfo(ConnectionManagerImpl.java:380)
        at weblogic.connector.outbound.ConnectionManagerImpl.getConnection(ConnectionManagerImpl.java:320)
        at weblogic.connector.outbound.ConnectionManagerImpl.allocateConnection(ConnectionManagerImpl.java:129)
        at oracle.tip.adapter.ftp.FTPConnectionFactory.getConnection(FTPConnectionFactory.java:102)
        at oracle.tip.adapter.ftp.SFTPAgent.preCall(SFTPAgent.java:1192)
        at oracle.tip.adapter.ftp.SFTPAgent.validateInputDir(SFTPAgent.java:758)
        at oracle.tip.adapter.ftp.inbound.FTPSource.validateInputDir(FTPSource.java:1189)
        at oracle.tip.adapter.ftp.inbound.FTPSource.revalidatePollingError(FTPSource.java:1357)
        at oracle.tip.adapter.file.inbound.PollWork.onAlert(PollWork.java:475)
        at oracle.tip.adapter.file.inbound.PollWork.run(PollWork.java:357)
        at oracle.integration.platform.blocks.executor.WorkManagerExecutor$1.run(WorkManagerExecutor.java:120)
        at weblogic.work.j2ee.J2EEWorkManager$WorkWithListener.run(J2EEWorkManager.java:184)
        at weblogic.work.DaemonWorkThread.run(DaemonWorkThread.java:30)
Caused by: com.maverick.ssh.SshException: Read timed out
        at com.maverick.ssh.SshConnector.A(Unknown Source)
        at com.maverick.ssh.SshConnector.connect(Unknown Source)
        at oracle.tip.adapter.ftp.SshImpl.SSHSessionImpl.setUpPasswordSocketConnection(SSHSessionImpl.java:194)
        ... 26 more
>
<Jan 30, 2013 2:19:12 AM PST> <Warning> <Connector> <BEA-190032> << eis/Ftp/FTPAdapter > ResourceAllocationException thrown by

resource adapter on call to ManagedConnectionFactory.createManagedConnection(): "BINDING.JCA-11447
Error in establishing a session with SSH Server..
Error in establishing a session with SSH Server..
Unable to establish a session with the server.
Please ensure hostname and port specified to login to the server are correct.

5 comments:

  1. hi
    Do not take me wrong and I am very new...
    can you give details (as much as possible) on activate/ re-activate the process which will re register the agent listener
    I appreciate your help on this...


    Thanks, K

    ReplyDelete
  2. You need to login to EM console,select required composite and click on shutdown button in right pane
    It takes few secs/mins to refresh page
    After shutdown then you see another button activate/start in right pane, please click that.That will complete the procedure

    ReplyDelete
  3. Hi,

    We tried following above mentioned steps.still we are facing the issue.and the log is same as mentioned above.

    ReplyDelete
  4. I was not working,please do post the correct solutions in the blogs

    ReplyDelete
  5. For my case, I had to restart SOA server not service to have it working. Hope it helps..

    ReplyDelete