NetWeaver Process Integration is transiting towards a single Java stack system – good examples here are new Java-only installation options that are available for it in NetWeaver 7.3 releases: Advanced Adapter Engine Extended (AEX) that became available as of release 7.3 and Process Orchestration (PO) that became available as of Enhancement Pack 1 for release 7.3. Having the system running in Java-only installation, there is still a demand to access its local file system – e.g. to browse local directories or to get access to specific files that are stored there. Log Viewer that is available as a part of NetWeaver Administrator and that is used to get access to log and trace files of AS Java does not fulfill this requirement absolutely since there are cases when it is necessary to just navigate some specific directory in order to retrieve a list of files that are stored there or to browse contents of the file that is not AS Java log/trace file. In AS ABAP, there is a useful transaction that was fulfilling these requirements and commonly used for these purposes – AL11 (Display SAP directories). And this is something that many users are missing in Java-only installations. Fortunately, AS Java provides analogous functionality for accessing file system as AS ABAP’s AL11 – this functionality will be discussed in this blog. The described functionality is not PI-specific, but is relevant for any AS Java system like Enterprise Portal, etc.
An integral part of any AS Java system is HTTP Provider that provides a low level communication and transportation service for AS Java over HTTP. One of important features of it is capability of accessing file system via HTTP – that is actually the key for the topic that is discussed in this blog.
In order to be able to get read access to some directory of the file system of AS Java system, it is necessary to configure the respective alias. To do this, follow steps described below:
1. Log in to NetWeaver Administrator of the corresponding AS Java system, navigate to work center Configuration, then choose option Infrastructure and run the tool Java HTTP Provider Configuration (it is also accessible via a short link: /nwa/http ).
2. Go to the tab Virtual Hosts, select the required virtual host for which file system you would like to grant HTTP based access to the file system.
3. On the tab General of the selected virtual host configuration, ensure that the check box Directory List is active.
4. Now switch to the tab Aliases of the selected virtual host configuration – here you can maintain an alias for the local directory that you would like to access via HTTP.
As soon as the alias is maintained, we now can access the respective file directory using it. In order to do it, just use the following URL syntax: http://<AS Java host>:<Java HTTP port>/<alias> . As a result, we get a web access over HTTP via any web browser supported by the queried AS Java system to the file system. We can now navigate to sub-folders and browse contents of files (text and binary) that are located there. Below are several screenshots demonstrating this functionality in action.
If the check box Directory List is not active on the tab General of the selected virtual host configuration, browsing file system of it will be denied and HTTP error 403 will be returned:
As it can be seen, there are technical possibilities of getting read access to file system of Java-only system without necessity of getting direct OS access (e.g. via shell/terminal access, etc.) to the corresponding host.
As mentioned by Hemanth Kumar in comments to this blog, the SAP Note 1877320 is useful reference and discusses how directory listing functionality may be enabled not only via NetWeaver Administrator, but also via AS Java Telnet.