2013-04-30 76 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文件夾中找到。

相關問題