【问题标题】:404 Error in running worklight hybrid application on Enterprise Worklight server在 Enterprise Worklight 服务器上运行 Worklight 混合应用程序时出现 404 错误
【发布时间】:2013-04-24 04:09:23
【问题描述】:

我创建了一个带有 SQL 适配器和混合工作灯应用程序的示例项目。该应用程序是一个简单的登录表单,它接受用户 ID 和密码,并使用 SQL 适配器根据存储在数据库中的值验证它们。

现在,当我在安装在 eclispe 工作灯插件中的默认工作灯服务器上测试此应用程序时,它工作正常。

但是当我在企业 Worklight 服务器上安装 SQL 适配器和 Worklight 应用程序并对其进行测试时,我收到以下错误:

NetworkError: 404 Not Found - http://[localhost:9080]/apps/services/api/SampleHybrid/common/query

我通过 Firebug 获取的上述错误。

SampleHybrid 是 Worklight 混合应用程序的名称。 SampleHybridAdapter 是 SQL 适配器的名称。

服务器的响应是:

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">

<html><head><title>404 Not Found</title></head><body><h1>Not Found</h1><p>CWWKT0018E: The application or context root for this request has not been found: &#047;apps&#047;services&#047;api&#047;SampleHybrid&#047;common&#047;query</p><h‌​r /><address>WebSphere Application Server at 127.0.0.1 port 9080</address></body></html>

【问题讨论】:

  • 在下面查看我的答案。如果您的问题已回答,请将其标记为已回答。

标签: ibm-mobilefirst application-server contextroot


【解决方案1】:

您提到您已经转移到在应用程序服务器上运行 Worklight - 这需要使用上下文根。在您提供的 404 错误中,我没有看到上下文根。

对服务器的请求应该是这样的:http://[localhost:9080]/yourContext/apps/services/api/SampleHybrid/common/query 由于缺少上下文根(在本例中为“yourContext”),因此您会收到 404 错误,因为应用程序正在尝试访问不存在的位置。

上下文根值在 application-descriptor.xml 和 worklight.properties 中设置。

yourProject\apps\yourApp\application-descriptor.xml

  • 更改worklightServerRootURL 属性的值以包含您的上下文根。它应该看起来像这样http://your-host-name-here:port/yourContext

yourProject\apps\server\conf\worklight.properties

  • 将上下文根设置为publicWorkLightContext 属性的值(同时确保取消注释)

完成上述操作后,您需要将 .war 文件重新部署到您的应用服务器。 .war 文件可以在 Worklight 项目的 bin 文件夹中找到。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多