Unable To Read JAR Files At Run-Time on Unix System In OSB Console - IOException: Permission denied (Doc ID 831914.1)

Last updated on NOVEMBER 03, 2016

Applies to:

Oracle Service Bus - Version: 2.1 and later   [Release: Aqualogic Service Bus and later ]
Information in this document applies to any platform.

Symptoms

A JAR resource is imported into OSB configuration through the sbconsole.

JAR file successfully imports and works when Service Bus is installed on a Windows environment. However when service bus is installed on Unix / Linux / Solaris environments, classes inside JAR files can't be introspected from sbconsole due to exceptions like:

java.io.IOException: Permission denied
at java.io.UnixFileSystem.createFileExclusively(Native Method)
at java.io.File.checkAndCreate(File.java:1704)
at java.io.File.createTempFile(File.java:1793)
at com.bea.wli.sb.util.IOUtils.storeToTempFile(IOUtils.java:232)
at com.bea.wli.sb.resources.archive.ArchiveClassLoaderDerivedTypeDef.computeData(ArchiveClassLoaderDerivedTypeDef.java:123)
at com.bea.wli.sb.resources.archive.ArchiveClassLoaderDerivedTypeDef.computeData(ArchiveClassLoaderDerivedTypeDef.java:33)
at com.bea.wli.sb.resources.cache.DerivedCache.deriveTheValue(DerivedCache.java:370)
at com.bea.wli.sb.resources.cache.DerivedCache.get(DerivedCache.java:213)
at com.bea.wli.sb.resources.cache.DerivedResourceManager.getDerivedValueInfo(DerivedResourceManager.java:220)
at com.bea.wli.sb.resources.cache.DerivedResourceManager.get(DerivedResourceManager.java:245)
at com.bea.wli.sb.resources.archive.ArchiveClassLoaderCache.get(ArchiveClassLoaderCache.java:117)
at com.bea.wli.sb.resources.archive.ArchiveClassLoaderCache.get(ArchiveClassLoaderCache.java:106)
at com.bea.wli.sb.resources.archive.ArchiveSummaryDerivedTypeDef.computeData(ArchiveSummaryDerivedTypeDef.java:39)
at com.bea.wli.sb.resources.archive.ArchiveSummaryDerivedTypeDef.computeData(ArchiveSummaryDerivedTypeDef.java:16)
at com.bea.wli.sb.resources.cache.DerivedCache.deriveTheValue(DerivedCache.java:370)
at com.bea.wli.sb.resources.cache.DerivedCache.get(DerivedCache.java:213)
at com.bea.wli.sb.resources.cache.DerivedResourceManager.getDerivedValueInfo(DerivedResourceManager.java:220)
at com.bea.wli.sb.resources.cache.DerivedResourceManager.get(DerivedResourceManager.java:245)

 

EXPECTED BEHAVIOR
Consistent behavior across Windows and Unix platforms i.e., able to import JAR resources and introspect the classes and then use in sbconsole

STEPS
The issue can be reproduced with the following steps:
1. Add the JAR resource in the OSB configuration in an Unix environment
2. Browse the JAR for methods involved in it.

Cause

Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms