10 Replies Latest reply on Sep 6, 2017 6:47 AM by Martien van den Akker

    FTP Adapter not able to place the files in FTPS location

    3531344

      Hi

       

      we are not able place the files in FTPS location,

      i am getting below error in EM console :

       

      <summary>Exception occurred when binding was invoked.

      Exception occurred during invocation of JCA binding: "JCA Binding execute of Reference operation 'Put' failed due to: Error sending file to FTP Server.

      Error sending file to FTP Server.

      Unable to send file to server.

      Please ensure 1. Specified remote output Dir has write permission 2. Output filename has not exceeded the max characters allowed by the OS and 3. Remote File System has enough space.

      ".

      The invoked JCA adapter raised a resource exception.

      Please examine the above error message carefully to determine a resolution.

      </summary>

                  </part>

                  <part name="code">

                     <code>450</code>

                  </part>

                  <part name="detail">

                     <detail>450 TLS session of data connection has not resumed or the session does not match the control connection</detail>

       

       

      But in logs i am getting different error :

        • 1. Re: FTP Adapter not able to place the files in FTPS location
          Krishna Hanumantharao

          Does it work if you try via any FTP client using the same credentials and directory paths?

          • 2. Re: FTP Adapter not able to place the files in FTPS location
            Martien van den Akker

            Do you use a default JNDI name (eis/FTP/...) and which one do you use?

            In the ftp adapter there are several ones predefined, See AdminServer-console/Deployments->FTP adapter -> outbound connection pools.

             

            There are entries for High availability, as well as for FTPs and SFTP. Did you reconfigure one of those?

             

            It helps to first try with a FTP client. Then you know the specifics of configuration.

             

            I can't see the errors in the log you mentioned. Could you post them again?

             

            Regards,
            Martien

            • 3. Re: FTP Adapter not able to place the files in FTPS location
              3531344

              we are able to connect and create the files through Putty and when try to connect ftp through soa files gets created with zero kb of data.

              • 4. Re: FTP Adapter not able to place the files in FTPS location
                3531344

                Hi Martien,

                 

                Logs:

                [ Put_ptt::Put(body) ]  Could not invoke operation 'Put' against the 'ftp' due to:

                BINDING.JCA-11429

                Error sending file to FTP Server.

                Error sending file to FTP Server.

                Unable to send file to server.

                Please ensure 1. Specified remote output Dir has write permission 2. Output filename has not exceeded the max characters allowed by the OS and 3. Remote File System has enough space.

                >

                and

                we are able to connect and create the files through Putty and when try to connect ftp through soa files gets created with zero kb of data.

                • 5. Re: FTP Adapter not able to place the files in FTPS location
                  3531344

                  HI Martien,

                  below is log error

                   

                  FTPAdp_Put_SalesOrders] Exception caught in changeWorkingDirectory: Socket is closed

                  [2017-08-28T00:56:15.545-07:00] [soa_server1] [ERROR] [] [oracle.soa.adapter] [tid: DaemonWorkThread: '21' of WorkManager: 'default_Adapters'] [userId: <anonymous>] [ecid: 811b236b-9a56-44d7-b838-11a7763235ab-000060b9,1:30401:31] [APP: soa-infra] [partition-name: DOMAIN] [tenant-name: GLOBAL] [oracle.soa.tracking.FlowId: 730108] [oracle.soa.tracking.InstanceId: 881101] [oracle.soa.tracking.SCAEntityId: 440040]  [FlowId: 0000LsbpnpjF8D8Lni_AiZ1PbkAh000029] JCABinding=>  DOMAIN:  [ Put_ptt::Put(body) ]  Could not invoke operation 'Put' against the 'ftp' due to: [[

                  BINDING.JCA-11429

                  Error sending file to FTP Server.

                  Error sending file to FTP Server.

                  Unable to send file to server.

                  Please ensure 1. Specified remote output Dir has write permission 2. Output filename has not exceeded the max characters allowed by the OS and 3. Remote File System has enough space.

                  and

                  we are able to connect and create the files through Putty and when try to connect ftp through soa files gets created with zero kb of data.

                  • 6. Re: FTP Adapter not able to place the files in FTPS location
                    Martien van den Akker

                    Hi,

                     

                    Since you work with SSH, you should configure FTP adapter as SFTP: https://docs.oracle.com/cd/E23943_01/integration.1111/e10231/adptr_file.htm#CACHHDCC .

                    Again, what outbound connection pool jndi do you use and how is it configured?

                     

                    Regards,
                    Martien

                    • 7. Re: FTP Adapter not able to place the files in FTPS location
                      3531344

                      Hi Martien,

                       

                      i have to to SFTP but still i am not able to place the files.

                       

                      could you please check below logs ? any help

                       

                      Exception while setting up session
                      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:293)
                      at oracle.tip.adapter.ftp.SshImpl.SSHSessionImpl.<init>(SSHSessionImpl.java:204)
                      at oracle.tip.adapter.ftp.SshImpl.SshImplFactory.getSshImpl(SshImplFactory.java:26)
                      at oracle.tip.adapter.ftp.SFTPManagedConnection.setupSftpConnection(SFTPManagedConnection.java:138)
                      at oracle.tip.adapter.ftp.SFTPManagedConnection.<init>(SFTPManagedConnection.java:63)
                      at oracle.tip.adapter.ftp.FTPManagedConnectionFactory.createManagedConnection(FTPManagedConnectionFactory.java:265)
                      at weblogic.connector.security.layer.AdapterLayer.createManagedConnection(AdapterLayer.java:862)
                      at weblogic.connector.outbound.ConnectionFactory.createResource(ConnectionFactory.java:92)
                      at weblogic.common.resourcepool.ResourcePoolImpl.makeResources(ResourcePoolImpl.java:1362)
                      at weblogic.common.resourcepool.ResourcePoolImpl.reserveResourceInternal(ResourcePoolImpl.java:436)
                      at weblogic.common.resourcepool.ResourcePoolImpl.reserveResource(ResourcePoolImpl.java:350)
                      at weblogic.common.resourcepool.ResourcePoolImpl.reserveResource(ResourcePoolImpl.java:330)
                      at weblogic.connector.outbound.ConnectionPool.reserveResource(ConnectionPool.java:713)
                      at weblogic.common.resourcepool.ResourcePoolImpl.reserveResource(ResourcePoolImpl.java:324)
                      at weblogic.connector.outbound.ConnectionManagerImpl.getConnectionInfo(ConnectionManagerImpl.java:414)
                      at weblogic.connector.outbound.ConnectionManagerImpl.getConnection(ConnectionManagerImpl.java:347)
                      at weblogic.connector.outbound.ConnectionManagerImpl.allocateConnection(ConnectionManagerImpl.java:135)
                      at oracle.tip.adapter.ftp.FTPConnectionFactory.getConnection(FTPConnectionFactory.java:99)
                      at oracle.integration.platform.blocks.adapter.fw.jca.cci.JCAConnectionManager$JCAConnectionPool.createJCAConnectionFactory(JCAConnectionManager.java:1626)
                      at oracle.integration.platform.blocks.adapter.fw.jca.cci.JCAConnectionManager$JCAConnectionPool.newPoolObject(JCAConnectionManager.java:1482)
                      at oracle.integration.platform.blocks.adapter.fw.common.ObjectPool.checkOut(ObjectPool.java:217)
                      at oracle.integration.platform.blocks.adapter.fw.jca.cci.JCAConnectionManager$JCAConnectionPool.checkOut(JCAConnectionManager.java:1747)
                      at oracle.integration.platform.blocks.adapter.fw.jca.cci.JCAConnectionManager.obtainJCAConnection(JCAConnectionManager.java:891)
                      at oracle.integration.platform.blocks.adapter.fw.jca.cci.JCAInteractionInvoker.executeJcaInteraction(JCAInteractionInvoker.java:228)
                      at oracle.integration.platform.blocks.adapter.fw.jca.cci.JCAInteractionInvoker.invokeJcaReference(JCAInteractionInvoker.java:780)
                      at oracle.integration.platform.blocks.adapter.fw.jca.cci.JCAInteractionInvoker.invokeAsyncJcaReference(JCAInteractionInvoker.java:692)
                      at oracle.integration.platform.blocks.adapter.fw.jca.cci.JCAEndpointInteraction.performAsynchronousInteraction(JCAEndpointInteraction.java:632)
                      at oracle.integration.platform.blocks.adapter.AdapterReference.post(AdapterReference.java:325)
                      at oracle.integration.platform.blocks.mesh.AsynchronousMessageHandler.doPost(AsynchronousMessageHandler.java:144)
                      at oracle.integration.platform.blocks.mesh.MessageRouter.post(MessageRouter.java:252)
                      at oracle.integration.platform.blocks.mesh.MeshImpl.post(MeshImpl.java:409)
                      at sun.reflect.GeneratedMethodAccessor2529.invoke(Unknown Source)
                      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
                      at java.lang.reflect.Method.invoke(Method.java:498)
                      at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:318)
                      at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
                      at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
                      at oracle.integration.platform.metrics.PhaseEventAspect.invoke(PhaseEventAspect.java:69)
                      at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
                      at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
                      at com.sun.proxy.$Proxy439.post(Unknown Source)
                      at oracle.fabric.CubeServiceEngine.postToMesh(CubeServiceEngine.java:1141)
                      at com.collaxa.cube.ws.WSInvocationManager.invoke0(WSInvocationManager.java:259)
                      at com.collaxa.cube.ws.WSInvocationManager.invoke(WSInvocationManager.java:332)
                      at com.collaxa.cube.engine.ext.common.InvokeHandler.__invoke(InvokeHandler.java:1460)
                      at com.collaxa.cube.engine.ext.common.InvokeHandler.handleNormalWSDLInvoke(InvokeHandler.java:806)
                      at com.collaxa.cube.engine.ext.common.InvokeHandler.handleNormalInvoke(InvokeHandler.java:497)
                      at com.collaxa.cube.engine.ext.common.InvokeHandler.handle(InvokeHandler.java:158)
                      at com.collaxa.cube.engine.ext.bpel.common.wmp.BPELInvokeWMP.__executeStatements(BPELInvokeWMP.java:78)
                      at com.collaxa.cube.engine.ext.bpel.common.wmp.BaseBPELActivityWMP$1.call(BaseBPELActivityWMP.java:197)
                      at com.collaxa.cube.engine.ext.bpel.common.wmp.BaseBPELActivityWMP$1.call(BaseBPELActivityWMP.java:195)
                      at com.collaxa.bpel.sws.SWSComponentProcessActivityWrapper$1.call(SWSComponentProcessActivityWrapper.java:74)
                      at com.collaxa.bpel.sws.SWSCallableActivityWrapper.execute(SWSCallableActivityWrapper.java:89)
                      at com.collaxa.bpel.sws.SWSComponentProcessActivityWrapper.execute(SWSComponentProcessActivityWrapper.java:82)
                      at com.collaxa.cube.engine.ext.bpel.common.wmp.BaseBPELActivityWMP.perform(BaseBPELActivityWMP.java:205)
                      at com.collaxa.cube.engine.CubeEngine.performActivity(CubeEngine.java:2922)
                      at com.collaxa.cube.engine.CubeEngine._handleWorkItem(CubeEngine.java:1289)
                      at com.collaxa.cube.engine.CubeEngine.handleWorkItem(CubeEngine.java:1178)
                      at com.collaxa.cube.engine.dispatch.message.instance.PerformMessageHandler.handleLocal(PerformMessageHandler.java:92)
                      at com.collaxa.cube.engine.dispatch.DispatchHelper.handleLocalMessage(DispatchHelper.java:300)
                      at com.collaxa.cube.engine.dispatch.DispatchHelper.sendMemory(DispatchHelper.java:379)
                      at com.collaxa.cube.engine.CubeEngine.endRequest(CubeEngine.java:4948)
                      at com.collaxa.cube.engine.CubeEngine.endRequest(CubeEngine.java:4872)
                      at com.collaxa.cube.engine.CubeEngine._createAndInvoke(CubeEngine.java:776)
                      at com.collaxa.cube.engine.CubeEngine.createAndInvoke(CubeEngine.java:613)
                      at com.collaxa.cube.engine.ejb.impl.CubeEngineBean.createAndInvoke(CubeEngineBean.java:134)
                      at com.collaxa.cube.engine.ejb.impl.CubeEngineBean.syncCreateAndInvokeParticipate(CubeEngineBean.java:227)
                      at com.collaxa.cube.engine.ejb.impl.bpel.BPELEngineBean_uhguq6_ICubeEngineLocalBeanImpl.__WL_invoke(Unknown Source)
                      at weblogic.ejb.container.internal.SessionLocalMethodInvoker.invoke(SessionLocalMethodInvoker.java:33)
                      at com.collaxa.cube.engine.ejb.impl.bpel.BPELEngineBean_uhguq6_ICubeEngineLocalBeanImpl.syncCreateAndInvokeParticipate(Unknown Source)
                      at com.collaxa.cube.engine.delivery.DeliveryHandler.callCreateAndInvoke(DeliveryHandler.java:968)
                      at com.collaxa.cube.engine.delivery.DeliveryHandler.initialPost(DeliveryHandler.java:430)
                      at com.collaxa.cube.engine.delivery.DeliveryHandler.post(DeliveryHandler.java:122)
                      at com.collaxa.cube.engine.delivery.DeliveryHandler.post(DeliveryHandler.java:1098)
                      at oracle.fabric.CubeServiceEngine.post(CubeServiceEngine.java:821)
                      at oracle.integration.platform.blocks.mesh.AsynchronousMessageHandler.doPost(AsynchronousMessageHandler.java:144)
                      at oracle.integration.platform.blocks.mesh.MessageRouter.post(MessageRouter.java:252)
                      at oracle.integration.platform.blocks.mesh.MeshImpl.post(MeshImpl.java:409)
                      at sun.reflect.GeneratedMethodAccessor2529.invoke(Unknown Source)
                      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
                      at java.lang.reflect.Method.invoke(Method.java:498)
                      at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:318)
                      at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
                      at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
                      at oracle.integration.platform.metrics.PhaseEventAspect.invoke(PhaseEventAspect.java:57)
                      at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
                      at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
                      at com.sun.proxy.$Proxy439.post(Unknown Source)
                      at oracle.integration.platform.blocks.adapter.fw.jca.mdb.AdapterServiceMDB.publishToMesh(AdapterServiceMDB.java:1383)
                      at oracle.integration.platform.blocks.adapter.fw.jca.mdb.AdapterServiceMDB.onMessage(AdapterServiceMDB.java:1286)
                      at oracle.integration.platform.blocks.adapter.fw.jca.mdb.AdapterServiceMDB.onMessage(AdapterServiceMDB.java:1042)
                      at oracle.tip.adapter.fw.jca.messageinflow.MessageEndpointImpl.onMessage(MessageEndpointImpl.java:666)
                      at oracle.tip.adapter.jms.inbound.JmsConsumer.doSend(JmsConsumer.java:705)
                      at oracle.tip.adapter.jms.inbound.JmsConsumer.sendInboundMessage(JmsConsumer.java:435)
                      at oracle.tip.adapter.jms.inbound.JmsConsumer.send(JmsConsumer.java:1221)
                      at oracle.tip.adapter.jms.inbound.JmsConsumer.runInbound(JmsConsumer.java:929)
                      at oracle.tip.adapter.jms.inbound.JmsConsumer.run(JmsConsumer.java:846)
                      at oracle.integration.platform.blocks.executor.WorkManagerExecutor$1.run(WorkManagerExecutor.java:184)
                      at weblogic.work.j2ee.J2EEWorkManager$WorkWithListener.run(J2EEWorkManager.java:209)
                      at weblogic.invocation.ComponentInvocationContextManager._runAs(ComponentInvocationContextManager.java:348)
                      at weblogic.invocation.ComponentInvocationContextManager.runAs(ComponentInvocationContextManager.java:333)
                      at weblogic.work.LivePartitionUtility.doRunWorkUnderContext(LivePartitionUtility.java:54)
                      at weblogic.work.PartitionUtility.runWorkUnderContext(PartitionUtility.java:41)
                      at weblogic.work.SelfTuningWorkManagerImpl.runWorkUnderContext(SelfTuningWorkManagerImpl.java:640)
                      at weblogic.work.SelfTuningWorkManagerImpl.runWorkUnderContext(SelfTuningWorkManagerImpl.java:618)
                      at weblogic.work.DaemonWorkThread.run(DaemonWorkThread.java:39)
                      Caused by: java.net.ConnectException: Connection timed out
                      at java.net.PlainSocketImpl.socketConnect(Native Method)
                      at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)
                      at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
                      at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
                      at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
                      at java.net.Socket.connect(Socket.java:589)
                      at java.net.Socket.connect(Socket.java:538)
                      at java.net.Socket.<init>(Socket.java:434)
                      at java.net.Socket.<init>(Socket.java:211)
                      at com.sshtools.net.SocketTransport.<init>(Unknown Source)
                      at oracle.tip.adapter.ftp.SshImpl.SSHSessionImpl.setUpPasswordSocketConnection(SSHSessionImpl.java:269)
                      • 8. Re: FTP Adapter not able to place the files in FTPS location
                        Martien van den Akker

                        Hi,

                         

                        In these kinds of traces, the entry I look for is the 'Caused By', in your case: 'Caused by: java.net.ConnectException: Connection timed out'.

                        This is quite indicative: you provided a host and port name. If the host would be correct, I'd expect a connection refused entry. But in this case you won't get an answer at all. So the FTP Adapter can't get a connection. Because apparently the connection properties aren't valid.

                         

                        So I'd check the host name, and to be sure the port.

                        Check if you provided a fully qualified name, and do a ping on it. Preferably on the server running the SOASuite/OSB.

                        You could also do a nslookup to see if the host can be resolved.

                         

                        Regards,
                        Martien

                        • 9. Re: FTP Adapter not able to place the files in FTPS location
                          3531344

                          I am able to connect ftp from putty .

                          • 10. Re: FTP Adapter not able to place the files in FTPS location
                            Martien van den Akker

                            Yes, apparently. But are you doing that from the same machine that runs the FTP Adapter?

                            And with the exact same properties? Since the connection error indicates the FTP is not able to.

                             

                            Regards,

                            Martien