Skip to Main Content

Integration

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

How to set port range for data port in FTP Adapter over FTPS using TLS Explicit

SandyMxJan 17 2017 — edited Jan 20 2017

Hello, i really need your help!

I'm trying to use the FTP adapter in a BPEL service to connect to an FTPS Server over TLS with Explicit mode. I understand, from what i have read, that explicit TLS connections need a command port (commonly 21) to stablish the initial connection, then FTP Server returns, among other stuff, a random data port (wich is in a predefined range) to start a new connection using this port to data exchange, when the exchange has finished, the connection to the data port is closed, but keeps the initial connection.

I've found this doc from MOS: Doc ID 2073857.1

https://support.oracle.com/epmos/faces/DocumentDisplay?_afrLoop=323078634127558&id=2073857.1&_afrWindowMode=0&_adf.ctrl-…

Maybe i'm not understanding very well, but at the end of the document says the following statement:

In the customer's case they needed to allow inbound connections on a port not blocked by the firewall and a passive port range for the data port (secure port in the FTP adapter UI).

Wich makes me think that i can configure a port range for data port in FPT adapter property SecurePort. But i can't figure out if this is possible, and if yes, how can i set it. My actual allowed port range is from 1025 to 65532.

Some of the FTP Adapter properties are:

AuthenticationType: password

ConnectionMode:passive

DataChannelPort:

Host: myftphostname

Password:myftppassword

Port:21

SecurePort:990 (i've tryed several options here)

UseFtps:true

UseImplicitSSL:false

Username:myftpusername

UseSftp:false

I have tryed several options in the adapter properties with no success, it seem that is able to stablish the connection, but it can't get a file.

When invoke a Synchronous read operation (or list), the message i get is java.io.FileNotFoundException

<17/01/2017 05:47:00 PM CST> <Error> <oracle.soa.adapter> <BEA-000000> <JCABinding=>  ListarArchivosFTP:LeerArchivo [ SynchRead_ptt::SynchRead(Empty,body) ]  Could not invoke operation 'SynchRead' against the 'ftp' due to:

BINDING.JCA-11007

No hay datos que procesar.

No hay datos que procesar.

No se ha encontrado el archivo /Reports/myFile.txt para su procesamiento, no está disponible o no tiene contenido

Asegúrese de que el archivo existe en el directorio especificado.

>

<17/01/2017 05:47:00 PM CST> <Error> <oracle.soa.adapter> <BEA-000000> <JCABinding=>  [default/ListarArchivosFTP!1.0*soa_16f6e3d8-911c-4471-afe2-93662864d262.LeerArchivo]:SynchRead  Two-way operation SynchRead() failed>

<17/01/2017 05:47:00 PM CST> <Error> <oracle.soa.bpel.engine.ws> <BEA-000000> <got FabricInvocationException

** Cikey: 150028

** FlowId: 150005

** Current Activity Key: 150028-BpInv0-BpSeq0.3-3

** Current Activity Label: leerArchivoInvoke

** InvokeMessageGuid: d470b1fc-dd0c-11e6-b938-480fcf5706aa

** ComponentDN: default/ListarArchivosFTP!1.0*soa_16f6e3d8-911c-4471-afe2-93662864d262/ListarArchivosBPEL

** Properties for component ListarArchivosBPEL:

   ** bpel.config.oneWayDeliveryPolicy: async.persist

** Transaction info: Name=[EJB com.collaxa.cube.engine.ejb.impl.bpel.BPELDeliveryBean.handleInvoke(com.collaxa.cube.engine.dispatch.message.invoke.InvokeInstanceMessage)],Xid=BEA1-498272647C8DE50C6CCB(1135371878),Status=Active,numRepliesO

nUsed=true,doInit=false,'null',destroyed=false,poolname=SOADataSource,appname=null,moduleName=null,connectTime=184,dirtyIsolationLevel=false,initialIsolationLevel=2,infected=false,lastSuccessfulConnectionUse=1484696820344,secondsToTrustAnI

s/oracle/in-memory, SOADataSource_soa_domain, eis/webspheremq/Queue, eis/AQ/aqSample, eis/aqjms/EDNxaDurableTopic, eis/tibjmsDirect/Queue, eis/aqjms/Queue, eis/Apps/Apps, WLStore_soa_domain__WLS_soa_server1, WLStore_soa_domain_SOAJMSFileSt

** MaxThreadsConstraints: 150

** Total dispatcher messages scheduled for processing: 0

** Total number of threads processing dispatcher messages: 1

** Max Heap size: 1908932608

** Free Heap size: 965114288

java.io.FileNotFoundException:

        at java.io.FileInputStream.open0(Native Method)

        at java.io.FileInputStream.open(FileInputStream.java:195)

        at java.io.FileInputStream.<init>(FileInputStream.java:138)

        at java.io.FileInputStream.<init>(FileInputStream.java:93)

        at oracle.tip.adapter.ftp.FtpSSLManager.getKeyManagerFactory(FtpSSLManager.java:246)

        at oracle.tip.adapter.ftp.FtpSSLManager.getSSLSocketFactory(FtpSSLManager.java:341)

        at oracle.tip.adapter.ftp.FtpSocketFactory.<init>(FtpSocketFactory.java:202)

        at oracle.tip.adapter.ftp.FTP.connect(FTP.java:612)

        at oracle.tip.adapter.ftp.FTPClient.establishFtpSession(FTPClient.java:211)

        at oracle.tip.adapter.ftp.FTPAgent.login(FTPAgent.java:861)

        at oracle.tip.adapter.ftp.FTPAgent.preCall(FTPAgent.java:1425)

        at oracle.tip.adapter.ftp.FTPAgent.getBinaryFileAsStream(FTPAgent.java:488)

        at oracle.tip.adapter.ftp.FTPAgent.getContentAsStream(FTPAgent.java:534)

        at oracle.tip.adapter.ftp.inbound.FTPSource.getContents(FTPSource.java:850)

        at oracle.tip.adapter.ftp.inbound.FTPSource.getFileFromSource(FTPSource.java:762)

        at oracle.tip.adapter.file.outbound.FileReader.readFile(FileReader.java:414)

        at oracle.tip.adapter.file.outbound.FileReader.executeFileRead(FileReader.java:219)

        at oracle.tip.adapter.file.outbound.FileInteraction.executeFileRead(FileInteraction.java:334)

        at oracle.tip.adapter.ftp.outbound.FTPInteraction.execute(FTPInteraction.java:293)

        at oracle.integration.platform.blocks.adapter.fw.jca.cci.JCAInteractionInvoker.executeJcaInteraction(JCAInteractionInvoker.java:418)

        at oracle.integration.platform.blocks.adapter.fw.jca.cci.JCAInteractionInvoker.invokeJcaReference(JCAInteractionInvoker.java:780)

        at oracle.integration.platform.blocks.adapter.fw.jca.cci.JCAInteractionInvoker.invokeSyncJcaReference(JCAInteractionInvoker.java:682)

        at oracle.integration.platform.blocks.adapter.fw.jca.cci.JCAEndpointInteraction.performSynchronousInteraction(JCAEndpointInteraction.java:611)

        at oracle.integration.platform.blocks.adapter.AdapterReference.request(AdapterReference.java:220)

        at oracle.integration.platform.blocks.mesh.SynchronousMessageHandler.doRequest(SynchronousMessageHandler.java:151)

        at oracle.integration.platform.blocks.mesh.MessageRouter.request(MessageRouter.java:214)

        at oracle.integration.platform.blocks.mesh.MeshImpl.request(MeshImpl.java:301)

        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

        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:71)

        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)

        at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)

        at com.sun.proxy.$Proxy366.request(Unknown Source)

        at oracle.fabric.CubeServiceEngine.requestToMesh(CubeServiceEngine.java:1138)

        at com.collaxa.cube.ws.WSInvocationManager.invoke0(WSInvocationManager.java:261)

        at com.collaxa.cube.ws.WSInvocationManager.invoke(WSInvocationManager.java:331)

        at com.collaxa.cube.engine.ext.common.InvokeHandler.__invoke(InvokeHandler.java:1476)

        at com.collaxa.cube.engine.ext.common.InvokeHandler.handleNormalWSDLInvoke(InvokeHandler.java:811)

        at com.collaxa.cube.engine.ext.common.InvokeHandler.handleNormalInvoke(InvokeHandler.java:502)

        at com.collaxa.cube.engine.ext.common.InvokeHandler.handle(InvokeHandler.java:156)

        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:2878)

        at com.collaxa.cube.engine.CubeEngine._handleWorkItem(CubeEngine.java:1260)

        at com.collaxa.cube.engine.CubeEngine.handleWorkItem(CubeEngine.java:1155)

        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:4871)

        at com.collaxa.cube.engine.CubeEngine.endRequest(CubeEngine.java:4795)

        at com.collaxa.cube.engine.CubeEngine._createAndInvoke(CubeEngine.java:751)

        at com.collaxa.cube.engine.CubeEngine.createAndInvoke(CubeEngine.java:586)

        at com.collaxa.cube.engine.delivery.DeliveryService.handleInvoke(DeliveryService.java:723)

        at com.collaxa.cube.engine.ejb.impl.CubeDeliveryBean.handleInvoke(CubeDeliveryBean.java:478)

        at com.collaxa.cube.engine.ejb.impl.bpel.BPELDeliveryBean_5k948i_ICubeDeliveryLocalBeanImpl.__WL_invoke(Unknown Source)

        at weblogic.ejb.container.internal.SessionLocalMethodInvoker.invoke(SessionLocalMethodInvoker.java:33)

        at com.collaxa.cube.engine.ejb.impl.bpel.BPELDeliveryBean_5k948i_ICubeDeliveryLocalBeanImpl.handleInvoke(Unknown Source)

        at com.collaxa.cube.engine.dispatch.message.invoke.InvokeInstanceMessageHandler.handle(InvokeInstanceMessageHandler.java:43)

        at com.collaxa.cube.engine.dispatch.DispatchHelper.handleMessage(DispatchHelper.java:154)

        at com.collaxa.cube.engine.dispatch.BaseDispatchTask.process(BaseDispatchTask.java:150)

        at com.collaxa.cube.engine.dispatch.BaseDispatchTask.run(BaseDispatchTask.java:90)

        at com.collaxa.cube.engine.dispatch.WMExecutor$W.run(WMExecutor.java:236)

        at weblogic.work.j2ee.J2EEWorkManager$WorkWithListener.run(J2EEWorkManager.java:207)

        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:617)

        at weblogic.work.ExecuteThread.execute(ExecuteThread.java:397)

        at weblogic.work.ExecuteThread.run(ExecuteThread.java:346)

>

I truly appreciate any help.

This post has been answered by SandyMx on Jan 19 2017
Jump to Answer
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Feb 16 2017
Added on Jan 17 2017
1 comment
809 views