MobileFirst 控制台 - Wlapp 上传在 60 秒后失败

MobileFirst Console - Wlapp Upload Fails After 60 seconds

我已经安装并配置了以下项目:

将 wlapp 文件上传到 mobilefirst 控制台时,如果时间超过 60 秒,则会抛出错误:

Connection failure. Check server log for details.

这是我的 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>

在服务器 messages.log 中,我收到此错误:

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

非常感谢任何帮助。

您的 Liberty Profile 版本是 8.5.5.0。不支持此版本。最低版本为 8.5.5.3(请参阅 http://www-969.ibm.com/software/reports/compatibility/clarity-reports/report/html/prereqsForProduct?deliverableId=46183B706BEA11E48038141DE954FC88,选项卡支持的软件)。能解释这种问题是因为这个Liberty版本在jndi管理、REST连接等方面存在缺陷..

2016 年 3 月 23 日之后发布的修复应该可以解决该问题。 http://www-01.ibm.com/support/docview.wss?uid=swg1PI59605