IBM MobileFirst服务器预览版

时间:2015-04-29 07:15:20

标签: ibm-mobilefirst

我在MobileFirst V7上开发了一个应用程序。它调用HTTP适配器并返回数据。它可以在我的Eclipse上预览运行。我将它部署到MobileFirst服务器(使用WAS Liberty Profile)并在预览中运行它。当我调用适配器时,它会引发一个错误,它登录messages.log是:

[4/28/15 23:34:16:681 EDT] 00000213 org.apache.wink.server.internal.RequestProcessor

我在调用处理程序链期间发生了以下错误:

  

WebApplicationException(404 - Not Found),在处理发送到http://127.0.0.1:9080/TestApp/authorization/v1/clients/preview的POST请求时发出消息'null'

这是我的server.xml

<server description="new server">
    <featureManager>
        <feature>jsp-2.2</feature>
        <feature>ssl-1.0</feature>
        <feature>servlet-3.0</feature>
        <feature>jdbc-4.0</feature>
        <feature>appSecurity-1.0</feature>
        <feature>jndi-1.0</feature>
        <feature>ssl-1.0</feature>
        <feature>servlet-3.0</feature>
        <feature>jdbc-4.0</feature>
        <feature>jndi-1.0</feature>
        <feature>restConnector-1.0</feature>
        <feature>appSecurity-1.0</feature>
        <feature>ssl-1.0</feature>
        <feature>servlet-3.0</feature>
        <feature>jdbc-4.0</feature>
        <feature>jndi-1.0</feature>
    </featureManager>
    <httpEndpoint id="defaultHttpEndpoint"
                  host="*"
                  httpPort="9080"
                  httpsPort="9443" >
        <tcpOptions soReuseAddr="true"/>
    </httpEndpoint>
    <basicRegistry>
        <user name="WorklightRESTUser" password="Bc7CGrb9DCuF"/>
        <user name="admin" password="admin"/>
        <user name="demo" password="demo"/>
        <user name="appcenteradmin" password="admin"/>
        <group name="appcentergroup">
            <member name="demo"/>
            <member name="appcenteradmin"/>
        </group>
    </basicRegistry>

    <application id="appcenterconsole" name="appcenterconsole" location="appcenterconsole.war" type="war">
        <application-bnd>
            <security-role name="appcenteradmin">
                <group name="appcentergroup"/>
            </security-role>
        </application-bnd>
    </application>

    <application id="applicationcenter" name="applicationcenter" location="applicationcenter.war" type="war">
        <application-bnd>
            <security-role name="appcenteradmin">
                <group name="appcentergroup"/>
            </security-role>
        </application-bnd>
        <classloader delegation="parentLast">
            <commonLibrary>
                <fileset dir="${wlp.install.dir}/lib" includes="com.ibm.ws.crypto.passwordutil_1.0.1.jar"/>
            </commonLibrary>
        </classloader>
    </application>

    <jndiEntry jndiName="android.aapt.dir" value='"/opt/IBM/MobileFirst_Platform_Server/ApplicationCenter/tools/android-sdk"'/>

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

    <dataSource jndiName="jdbc/AppCenterDS" transactional="false">
        <jdbcDriver libraryRef="DB2Lib"/>
        <properties.db2.jcc databaseName="APPCNTR" serverName="127.0.0.1" portNumber="50001" user="db2inst1" password="{xor}Lz4sLChvLTs="/>
    </dataSource>

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

    <administrator-role>
        <user>WorklightRESTUser</user>
    </administrator-role>
    <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="Bc7CGrb9DCuF"/>
    <jndiEntry jndiName="ibm.worklight.topology.platform" value="Liberty"/>
    <jndiEntry jndiName="ibm.worklight.topology.clustermode" value="Standalone"/>
    <webContainer invokeFlushAfterService="false" deferServletLoad="false"/>
    <executor id="default" name="LargeThreadPool"
              coreThreads="200" maxThreads="400" keepAlive="60s"
              stealPolicy="STRICT" rejectedWorkPolicy="CALLER_RUNS"/>

    <application id="worklightadmin" name="worklightadmin" 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_worklightadmin">
                <fileset dir="${wlp.install.dir}/lib" includes="com.ibm.ws.crypto.passwordutil_1.0.1.jar"/>
            </commonLibrary>
        </classloader>
    </application>

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

    <dataSource jndiName="worklightadmin/jdbc/WorklightAdminDS" transactional="false">
        <jdbcDriver libraryRef="worklightadmin/DB2Lib"/>
        <properties.db2.jcc databaseName="WLADMIN" serverName="127.0.0.1" portNumber="50001" user="db2inst1" password="{xor}Lz4sLChvLTs=" currentSchema="WLADMSC"/>
    </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>
    </application>

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

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

    <jndiEntry jndiName="TestApp/publicWorkLightProtocol" value='"http"'/>
    <jndiEntry jndiName="TestApp/publicWorkLightPort" value='"9080"'/>

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

    <dataSource jndiName="TestApp/jdbc/WorklightDS" transactional="false">
        <jdbcDriver libraryRef="TestApp/DB2Lib"/>
        <properties.db2.jcc databaseName="WRKLGHT" serverName="127.0.0.1" portNumber="50001" user="db2inst1" password="{xor}Lz4sLChvLTs=" currentSchema="WRKSCHM"/>
    </dataSource>

    <dataSource jndiName="TestApp/jdbc/WorklightReportsDS" transactional="false">
        <jdbcDriver libraryRef="TestApp/DB2Lib"/>
        <properties.db2.jcc databaseName="WLREPORT" serverName="127.0.0.1" portNumber="50001" user="db2inst1" password="{xor}Lz4sLChvLTs=" currentSchema="WLRESCHM"/>
    </dataSource>

</server>

1 个答案:

答案 0 :(得分:1)

预览不适用于生产环境,但预览按钮仍然存在于MFPF 7.0的GM版本中。

我想你可能会打到APAR PI37266:

  

MFP操作控制台:必须预览常见资源按钮   隐藏在生产环境中。

因此,您应该将安装更新到最新的7.0 iFix,其中预览按钮不再可用。要获取最新的iFix,您需要登录IBM Fix Central网站并搜索&#34; mobilefirst platform&#34;得到最新的。

如果在升级到最新的iFix后仍然看到预览按钮,请尝试强制清除浏览器的缓存。您还可以通过检查网络视图&gt;来验证这一点。 Chrome浏览器的DevTools中的预览标签。它应该显示请求/响应的属性列表,其中一个是&#34; developmentMode:true/false&#34;)。它应设置为false