Issue

java.lang.RuntimeException: Missing license file for: WebLogic Platform 8.1

        at weblogic.security.utils.SSLSetup.getLicenseLevel(SSLSetup.java:157)

        at weblogic.security.utils.SSLSetup.getWrapperClass(SSLSetup.java:195)

        at weblogic.security.utils.SSLContextWrapper.<init>(SSLContextWrapper.java:35)

        at weblogic.security.utils.SSLContextWrapper.getInstance(SSLContextWrapper.java:29)

        at weblogic.security.utils.SSLSetup.getSSLContext(SSLSetup.java:390)

        at weblogic.security.SSL.SSLSocketFactory.<init>(SSLSocketFactory.java:71)

        at weblogic.security.SSL.SSLSocketFactory.getJSSE(SSLSocketFactory.java:101)

        at weblogic.security.SSL.SSLSocketFactory.getDefaultJSSE(SSLSocketFactory.java:91)

        at weblogic.net.http.HttpClient.New(HttpClient.java:218)

        at weblogic.net.http.HttpsURLConnection.getHttpClient(HttpsURLConnection.java:246)

        at weblogic.net.http.HttpsURLConnection.connect(HttpsURLConnection.java:217)

        at weblogic.net.http.HttpURLConnection.getOutputStream(HttpURLConnection.java:175)

        at com.tests.SSLTestForDB.processInputStringWithWLS(SSLTestForDB.java:226)

        at com.tests.SSLTestForDB.main(SSLTestForDB.java:80)

Solution

This exception happens when a program tries to use  weblogic proprietary API packaged into library that comes with Weblogic server outside the application server. In the above example, Weblogic SSL Client is being used from weblogic.jar. These Weblogic server libraries are normally designed to run from within the application container as they check for appropriate Weblogic Licenses as a security measure. It may be possible to run these outside the container as long as these libraries can find the Weblogic License file. The license file is looked up by Weblogic based on the path as defined by the BEA_HOME env variable.<!>