4
votes

I have already installed & configured following items :

  • Installed IBM WebSphere Application Server Liberty Core (Version 8.5.5)
  • Installed IBM MobileFirst Platform Server (Verison 7.1)

While uploading wlapp file to mobilefirst console, If it takes longer than 60 seconds, then it throws an error :

Connection failure. Check server log for details.

Here is my server.xml :

<server description="new server">
    <featureManager>
        <feature>jsp-2.2</feature>
        <feature>jndi-1.0</feature>
        <feature>jdbc-4.0</feature>
        <feature>servlet-3.0</feature>
        <feature>ssl-1.0</feature>
        <feature>localConnector-1.0</feature>
        <feature>restConnector-1.0</feature>
        <feature>appSecurity-1.0</feature>
    </featureManager>

    <httpSession cloneId="server1" />
    <httpEndpoint id="defaultHttpEndpoint"
                  host="*"
                  httpPort="9080"
                  httpsPort="9443" >

        <tcpOptions  inactivityTimeout="10m" soReuseAddr="true"/>
        <httpOptions readTimeout="10m" writeTimeout="10m" removeServerHeader="true" />
    </httpEndpoint>

    <administrator-role>
        <user>WorklightRESTUser</user>
    </administrator-role>

    <basicRegistry>
        <user name="WorklightRESTUser" password="yfcXTcXUEcTV"/>
        <user name="admin" password="admin"/>
    </basicRegistry>

    <webContainer invokeFlushAfterService="false" deferServletLoad="false"/>

    <jndiEntry jndiName="ibm.worklight.admin.endpoint" value="http://IP:PORT/wladmin" />
    <jndiEntry jndiName="ibm.worklight.admin.proxy.protocol" value="http" />
    <jndiEntry jndiName="ibm.worklight.admin.proxy.host" value="<IP>" />
    <jndiEntry jndiName="ibm.worklight.admin.proxy.port" value="<PORT>"/>

    <application id="HelloWorld" name="HelloWorld" location="HelloWorld.war" type="war">
        <classloader delegation="parentLast">
            <privateLibrary id="worklightlib_HelloWorld">
                <fileset dir="${shared.resource.dir}/HelloWorld/lib" includes="worklight-jee-library.jar"/>
                <fileset dir="${wlp.install.dir}/lib" includes="com.ibm.ws.crypto.passwordutil_*.jar"/>
            </privateLibrary>
        </classloader>
    </application>

    <jndiEntry jndiName="HelloWorld/publicWorkLightProtocol" value='"http"'/>
    <jndiEntry jndiName="HelloWorld/publicWorkLightPort" value='"9080"'/>
    <jndiEntry jndiName="HelloWorld/reports.exportRawData" value='"false"'/>

    <library id="HelloWorld/DB2Lib">
        <fileset dir="${shared.resource.dir}/HelloWorld/db2" includes="db2jcc4.jar"/>
    </library>

    <dataSource jndiName="HelloWorld/jdbc/WorklightDS" transactional="false">
        <jdbcDriver libraryRef="HelloWorld/DB2Lib"/>
        <properties.db2.jcc databaseName="MF_HELLO" serverName="<IP>" portNumber="<PORT>" user="<USER>" password="<PWD>" currentSchema="WRKLGHT"/>
    </dataSource>

    <keyStore id="defaultKeyStore" password="worklight"/>

    <jndiEntry jndiName="ibm.worklight.admin.jmx.host" value='"localhost"'/>
    <jndiEntry jndiName="ibm.worklight.admin.jmx.port" value='"9443"'/>
    <jndiEntry jndiName="ibm.worklight.admin.jmx.user" value='"WorklightRESTUser"'/>
    <jndiEntry jndiName="ibm.worklight.admin.jmx.pwd" value='"yfcXTcXUEcTV"'/>
    <jndiEntry jndiName="ibm.worklight.topology.platform" value='"Liberty"'/>
    <jndiEntry jndiName="ibm.worklight.topology.clustermode" value='"Standalone"'/>

    <executor id="default" name="LargeThreadPool"
              coreThreads="200" maxThreads="400" keepAlive="60s"
              stealPolicy="STRICT" rejectedWorkPolicy="CALLER_RUNS"/>

    <application id="wladmin" name="wladmin" location="worklightadmin.war" type="war">
        <application-bnd>
            <security-role name="worklightadmin">
                <user name="admin"/>
            </security-role>
            <security-role name="worklightdeployer">
            </security-role>
            <security-role name="worklightmonitor">
            </security-role>
            <security-role name="worklightoperator">
            </security-role>
        </application-bnd>

        <classloader delegation="parentLast">
            <commonLibrary id="worklightlib_wladmin">
                <fileset dir="${wlp.install.dir}/lib" includes="com.ibm.ws.crypto.passwordutil_*.jar"/>
            </commonLibrary>
        </classloader>
    </application>

    <library id="wladmin/DB2Lib">
        <fileset dir="${shared.resource.dir}/wladmin/db2" includes="db2jcc4.jar"/>
    </library>

    <dataSource jndiName="wladmin/jdbc/WorklightAdminDS" transactional="false">
        <jdbcDriver libraryRef="wladmin/DB2Lib"/>
        <properties.db2.jcc databaseName="WRKLGHT" serverName="IP" portNumber="PORT" user="USER" password="PWD" currentSchema="WLADMIN"/>
    </dataSource>

    <application id="worklightconsole" name="worklightconsole" location="worklightconsole.war" type="war">
        <application-bnd>
            <security-role name="worklightadmin">
                <user name="admin"/>
            </security-role>
            <security-role name="worklightdeployer">
            </security-role>
            <security-role name="worklightmonitor">
            </security-role>
            <security-role name="worklightoperator">
            </security-role>
        </application-bnd>
        <classloader delegation="parentLast"/>
    </application>

    <jndiEntry jndiName="worklightconsole/ibm.worklight.admin.endpoint" value='"*://*:*/wladmin"'/>

</server>

In messages.log of server, I am getting this error :

com.ibm.worklight.management.ui.servlet.ServiceProxy
Throwable Connection closed: Read failed. Possible end of stream encountered. while redirecting request to http://localhost:9080/wladmin/management-apis/1.0/runtimes/HelloWorld/applications?async=true

Any help would be highly appreciated.

2
What is the structure of your network topology? 1 server? a farm of servers? load balancer? http server?Idan Adar
There is only one WAS server and I am accessing it directly, there is not any http server in between.yogesh
Provide the full messages.log file.Idan Adar
What are PORT and IP in : <jndiEntry jndiName="ibm.worklight.admin.endpoint" value="IP:PORT/wladmin" /> <jndiEntry jndiName="ibm.worklight.admin.proxy.protocol" value="http" /> <jndiEntry jndiName="ibm.worklight.admin.proxy.host" value="<IP>" /> <jndiEntry jndiName="ibm.worklight.admin.proxy.port" value="<PORT>"/>Bruno Charpentier
@IdanAdar : This is the full messages.log file : tinyurl.com/o9cjuojyogesh

2 Answers

2
votes

Fixes published later than 2016-03-23 should fix the problem. http://www-01.ibm.com/support/docview.wss?uid=swg1PI59605

0
votes

Your Liberty Profile version is 8.5.5.0. This version is not supported. Minimal version is 8.5.5.3 (see http://www-969.ibm.com/software/reports/compatibility/clarity-reports/report/html/prereqsForProduct?deliverableId=46183B706BEA11E48038141DE954FC88, tab Supported Software). It can explain this kind of problem because this Liberty version has defects concerning jndi management, REST connection..