2013-04-30 92 views
0

我已经使用SQL适配器和混合工作灯应用程序创建了一个示例项目。该应用程序是一个简单的登录表单,它接受用户标识和密码,并使用SQL适配器针对存储在数据库中的值验证它们。404在Enterprise Worklight服务器上运行Worklight混合应用程序时出错

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

但是,当我在企业工作灯服务器和测试其上安装SQL适配器和工作灯的应用,我收到以下错误:

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> 
+0

请参阅下面的答案。如果您的问题得到解答,请将其标记为已回答。 – 2014-03-14 06:58:34

回答

2

你提到你已经转移到应用服务器上运行的工作灯 - 这需要使用上下文根。我没有看到您提供的404错误中的上下文根。

对服务器的请求应该看起来像这样:http://[localhost:9080]/yourContext/apps/services/api/SampleHybrid/common/query 由于缺少上下文根(本例中为“yourContext”),所以会出现404错误,因为应用程序试图到达一个位置不存在。

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

yourProject \ APPS \ yourApp \应用descriptor.xml

  • 更改worklightServerRootURL属性的值,包括您的上下文根。它应该是这样的http://your-host-name-here:port/yourContext

yourProject \ APPS \服务器\的conf \ worklight.properties

  • 设置你的上下文根作为publicWorkLightContext属性的值(也请务必取消注释)

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

相关问题