Reading files in .zip sub directories

Hi everyone,

I have been facing this error for the past two weeks, I am trying to to read text files in .zip folders. but I keep on getting the error below.

Questions
How to set up allowedReadPaths= for sub folder?
How to set up fileName for sub folder?

Error
Launch started: 2018-12-19 12:30:49.564
Configuration name: PowerBI (1)
Configuration location: C:/Users/Nkululeko/workspace101/.metadata/.plugins/org.eclipse.debug.core/.launches/PowerBI (1).launch

Could not run ‘PowerBI’
com.wm.app.b2b.server.ServiceException: [ISS.0086.9256] File [\03RNB-AGW-PBI01\PBI_Gateway_Trace_Logs\ODGLogs 2018-12-10T11_05_11.zip] does not exist

com.wm.app.b2b.server.ServiceException: [ISS.0086.9256] File [\03RNB-AGW-PBI01\PBI_Gateway_Trace_Logs\ODGLogs 2018-12-10T11_05_11.zip] does not exist
at pub.CommonUtils.checkFileExists(CommonUtils.java:545)
at pub.file.getFile(file.java:1104)
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 com.wm.app.b2b.server.JavaService.baseInvoke(JavaService.java:404)
at com.wm.app.b2b.server.invoke.InvokeManager.process(InvokeManager.java:668)
at com.wm.app.b2b.server.util.tspace.ReservationProcessor.process(ReservationProcessor.java:39)
at com.wm.app.b2b.server.invoke.StatisticsProcessor.process(StatisticsProcessor.java:49)
at com.wm.app.b2b.server.invoke.ServiceCompletionImpl.process(ServiceCompletionImpl.java:243)
at com.wm.app.b2b.server.invoke.ValidateProcessor.process(ValidateProcessor.java:49)
at com.wm.app.b2b.server.invoke.PipelineProcessor.process(PipelineProcessor.java:171)
at com.wm.app.b2b.server.ACLManager.process(ACLManager.java:299)
at com.wm.app.b2b.server.invoke.DispatchProcessor.process(DispatchProcessor.java:34)
at com.wm.app.b2b.server.AuditLogManager.process(AuditLogManager.java:377)
at com.wm.app.b2b.server.invoke.InvokeManager.invoke(InvokeManager.java:567)
at com.wm.app.b2b.server.invoke.InvokeManager.invoke(InvokeManager.java:384)
at com.wm.app.b2b.server.ServiceManager.invoke(ServiceManager.java:239)
at com.wm.app.b2b.server.BaseService.invoke(BaseService.java:246)
at com.wm.lang.flow.FlowInvoke.invoke(FlowInvoke.java:257)
at com.wm.lang.flow.FlowState.invokeNode(FlowState.java:535)
at com.wm.lang.flow.FlowState.step(FlowState.java:401)
at com.wm.lang.flow.FlowState.invoke(FlowState.java:372)
at com.wm.app.b2b.server.FlowSvcImpl.baseInvoke(FlowSvcImpl.java:1132)
at com.wm.app.b2b.server.invoke.InvokeManager.process(InvokeManager.java:668)
at com.wm.app.b2b.server.util.tspace.ReservationProcessor.process(ReservationProcessor.java:39)
at com.wm.app.b2b.server.invoke.StatisticsProcessor.process(StatisticsProcessor.java:49)
at com.wm.app.b2b.server.invoke.ServiceCompletionImpl.process(ServiceCompletionImpl.java:243)
at com.wm.app.b2b.server.invoke.ValidateProcessor.process(ValidateProcessor.java:49)
at com.wm.app.b2b.server.invoke.PipelineProcessor.process(PipelineProcessor.java:171)
at com.wm.app.b2b.server.ACLManager.process(ACLManager.java:299)
at com.wm.app.b2b.server.invoke.DispatchProcessor.process(DispatchProcessor.java:34)
at com.wm.app.b2b.server.AuditLogManager.process(AuditLogManager.java:377)
at com.wm.app.b2b.server.invoke.InvokeManager.invoke(InvokeManager.java:567)
at com.wm.app.b2b.server.invoke.InvokeManager.invoke(InvokeManager.java:384)
at com.wm.app.b2b.server.ServiceManager.invoke(ServiceManager.java:239)
at com.wm.app.b2b.server.comm.DefaultServerRequestHandler.handleMessage(DefaultServerRequestHandler.java:120)
at com.wm.app.b2b.server.HTTPMessageHandler.process(HTTPMessageHandler.java:156)
at com.wm.app.b2b.server.HTTPDispatch.handleRequest(HTTPDispatch.java:181)
at com.wm.app.b2b.server.Dispatch.run(Dispatch.java:387)
at com.wm.util.pool.PooledThread.run(PooledThread.java:127)
at java.lang.Thread.run(Thread.java:748)

Launch completed: 2018-12-19 12:30:50.9

fileAccessControl.txt (897 Bytes)

On which OS the IS is installed.

Can you try the below path in the fileAccessControl.cnf in the allowedReadPaths=

Check the path on the file system if the file exists and then reload the WmPublic package on non-prod servers. Run the getFile service and provide the logs if it errors out.

\\03RNB-AGW-PBI01\PBI_Gateway_Trace_Logs\ODGLogs 2018-12-10T11_05_11.zip

Hi Mahesh,

Thank you for your response unfortunately same error is returned.

System Details.

CPU.type Intel Family 6 Model 62 Stepping 4
Hostname local-dev.za.ds.naspers.com
OS.Service.Pack
HW.memory[GB] 32.00
OS.Name Windows Server 2012
OS.Release 6.2 OS.Build.no. 9200
CPU.cores 16

I am new in webMethods. Could this error mean that webMethods IS does not have access to the text files server that I am trying to read on? How to check if webMethods IS can connect to another server?

Error
Launch started: 2018-12-27 11:15:02.718
Configuration name: readmylocal
Configuration location: C:/Users/Nkululeko/workspace101/.metadata/.plugins/org.eclipse.debug.core/.launches/readmylocal.launch

Could not run ‘readmylocal’
com.wm.app.b2b.server.ServiceException: [ISS.0086.9256] File [\03RNB-AGW-PBI01\PBI_Gateway_Trace_Logs\ODGLogs 2018-12-10T11_05_11.zip\GatewayProperties.txt] does not exist

com.wm.app.b2b.server.ServiceException: [ISS.0086.9256] File [\03RNB-AGW-PBI01\PBI_Gateway_Trace_Logs\ODGLogs 2018-12-10T11_05_11.zip\GatewayProperties.txt] does not exist
at pub.CommonUtils.checkFileExists(CommonUtils.java:545)
at pub.file.getFile(file.java:1104)
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 com.wm.app.b2b.server.JavaService.baseInvoke(JavaService.java:404)
at com.wm.app.b2b.server.invoke.InvokeManager.process(InvokeManager.java:668)
at com.wm.app.b2b.server.util.tspace.ReservationProcessor.process(ReservationProcessor.java:39)
at com.wm.app.b2b.server.invoke.StatisticsProcessor.process(StatisticsProcessor.java:49)
at com.wm.app.b2b.server.invoke.ServiceCompletionImpl.process(ServiceCompletionImpl.java:243)
at com.wm.app.b2b.server.invoke.ValidateProcessor.process(ValidateProcessor.java:49)
at com.wm.app.b2b.server.invoke.PipelineProcessor.process(PipelineProcessor.java:171)
at com.wm.app.b2b.server.ACLManager.process(ACLManager.java:299)
at com.wm.app.b2b.server.invoke.DispatchProcessor.process(DispatchProcessor.java:34)
at com.wm.app.b2b.server.AuditLogManager.process(AuditLogManager.java:377)
at com.wm.app.b2b.server.invoke.InvokeManager.invoke(InvokeManager.java:567)
at com.wm.app.b2b.server.invoke.InvokeManager.invoke(InvokeManager.java:384)
at com.wm.app.b2b.server.ServiceManager.invoke(ServiceManager.java:239)
at com.wm.app.b2b.server.BaseService.invoke(BaseService.java:246)
at com.wm.lang.flow.FlowInvoke.invoke(FlowInvoke.java:257)
at com.wm.lang.flow.FlowState.invokeNode(FlowState.java:535)
at com.wm.lang.flow.FlowState.step(FlowState.java:401)
at com.wm.lang.flow.FlowState.invoke(FlowState.java:372)
at com.wm.app.b2b.server.FlowSvcImpl.baseInvoke(FlowSvcImpl.java:1132)
at com.wm.app.b2b.server.invoke.InvokeManager.process(InvokeManager.java:668)
at com.wm.app.b2b.server.util.tspace.ReservationProcessor.process(ReservationProcessor.java:39)
at com.wm.app.b2b.server.invoke.StatisticsProcessor.process(StatisticsProcessor.java:49)
at com.wm.app.b2b.server.invoke.ServiceCompletionImpl.process(ServiceCompletionImpl.java:243)
at com.wm.app.b2b.server.invoke.ValidateProcessor.process(ValidateProcessor.java:49)
at com.wm.app.b2b.server.invoke.PipelineProcessor.process(PipelineProcessor.java:171)
at com.wm.app.b2b.server.ACLManager.process(ACLManager.java:299)
at com.wm.app.b2b.server.invoke.DispatchProcessor.process(DispatchProcessor.java:34)
at com.wm.app.b2b.server.AuditLogManager.process(AuditLogManager.java:377)
at com.wm.app.b2b.server.invoke.InvokeManager.invoke(InvokeManager.java:567)
at com.wm.app.b2b.server.invoke.InvokeManager.invoke(InvokeManager.java:384)
at com.wm.app.b2b.server.ServiceManager.invoke(ServiceManager.java:239)
at com.wm.app.b2b.server.comm.DefaultServerRequestHandler.handleMessage(DefaultServerRequestHandler.java:120)
at com.wm.app.b2b.server.HTTPMessageHandler.process(HTTPMessageHandler.java:156)
at com.wm.app.b2b.server.HTTPDispatch.handleRequest(HTTPDispatch.java:181)
at com.wm.app.b2b.server.Dispatch.run(Dispatch.java:387)
at com.wm.util.pool.PooledThread.run(PooledThread.java:127)
at java.lang.Thread.run(Thread.java:748)

Launch completed: 2018-12-27 11:15:04.31

To add more, make sure you the file exists in the target location and pass the file path to getFile service.

The Integration Server itself needs to have security access to this network location. In this case, the Integration Server is running as a Windows Service and need to be changed to run with an account that has access to the network location required.

When modifying the Windows Services “Software AG Integration Server” in Properties there is a “Log On” tab. Rather than use “Local System account”, an account with the correct authorization for the network location should be specified. Stop/start Integration Server for this to take effect.

Also, check the settings, if this can help you:

watt.security.pub.getFile.checkReadAllowed

Specifies whether the pub.file:getFile service is to check the allowedReadPaths property in
the fileAccessControl.cnf file to determine if the requested file can be retrieved from the
file system. The allowedReadPaths property contains a list of directories to which the
services in the pub.file folder have read permission.
When watt.security.pub.getFile.checkReadAllowed is set to true, the pub.file:getFile
service checks the allowedReadPaths property in the fileAccessControl.cnf file. If the
requested file or file directory is listed, the pub.file:getFile service returns its contents to the
pipeline.
If wa?.security.pub.getFile.checkReadAllowed is set to true and the file or file directory
is not listed in the allowedReadPaths property, the pub.file:getFile service throws an
exception.
When wa?.security.pub.getFile.checkReadAllowed is set to false, the pub.file:getFile
service retrieves the specified file from the local file system without checking the
fileAccessControl.cnf file.
Changes to this property take effect immediately. However, if you modify the
fileAccessControl.cnf file, the WmPublic package must be reloaded before the changes
take effect.
For more information about the pub.file:getFile service and configuring the
fileAccessControl.cnf file, see webMethods Integration Server Built-In Services Reference.