Search code examples
liferayweblogic

Javascript fast load does not work in Liferay on WebLogic


I have deployed Liferay 6.2 GA4 portal on WebLogic server 10.3.6.0. If the javascript.fast.load property is enabled, the packed javascript version is not got (downloaded) from /combo url. In web browser console the following errors are displayed:

GET https://www.mywebsite.cz/liferay-portal/combo/?browserId=other&minifierType=&languageId=en_US&b=6203&t=1448975784000&/liferay-portal/html/js/aui/color-base/color-base-min.js&/liferay-portal/html/js/aui/event-touch/event-touch-min.js&/liferay-portal/html/js/liferay/dockbar.js 404 (Not Found)

Uncaught TypeError: Cannot read property 'init' of undefined

Due to this for example dockbar doesn't work. From source code it looks like ComboServlet can't get servlet resources found in /combo url parameters. If javascript.fast.load is disabled, portal seems to work.

Weblogic.xml:

<weblogic-web-app
    xmlns="http://xmlns.oracle.com/weblogic/weblogic-web-app"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd http://xmlns.oracle.com/weblogic/weblogic-web-app http://xmlns.oracle.com/weblogic/weblogic-web-app/1.2/weblogic-web-app.xsd"
>
    <jsp-descriptor>
        <keepgenerated>true</keepgenerated>
        <page-check-seconds>60</page-check-seconds>
    </jsp-descriptor>
    <session-descriptor>
        <persistent-store-type>replicated_if_clustered</persistent-store-type>
    </session-descriptor>

    <container-descriptor>
        <prefer-application-packages>
            <package-name>antlr.*</package-name>
            <package-name>com.ctc.wstx.*</package-name>
            <package-name>org.antlr.*</package-name>
            <package-name>org.apache.commons.lang.*</package-name>
            <package-name>org.mozilla.*</package-name>
            <package-name>org.xmlpull.*</package-name>
        </prefer-application-packages>
        <optimistic-serialization>true</optimistic-serialization>
        <show-archived-real-path-enabled>true</show-archived-real-path-enabled>
    </container-descriptor>
    <context-root>/liferay-portal</context-root>

    <library-ref>
        <library-name>ext-portal-dependencies</library-name>
        <specification-version>1.0</specification-version>
        <implementation-version>1.0</implementation-version>
        <exact-match>false</exact-match>
    </library-ref>
</weblogic-web-app>

Does anybody know what could be the problem? Some WebLogic or Liferay settings? Thanks for any idea or help.


Solution

  • After several days of solving the problem I found the main cause of this problem was this:

    Because the customer didn't want to have portal dependencies (portal-service.jar, portlet-api.jar, ...) as domain libraries, I deployed it as Java EE Shared Libraries. Obviously it works differently than I expected. So after persuasion of customer, I put liferay dependencies to domain lib folder and suddenly everything started to work.