午後全部、
これが私の文脈です:
私は、iPhone、Android、およびモバイルWeb用のAppEnvsを使用して既存のワークライトプロジェクトを設定しています。
Worklight Consoleを使用してアプリをプレビューすると、iPhoneアプリからのみコンテキストルートエラーが発生します。(エラーが発生します:サーバーはアプリケーションからの要求を処理できませんでした...)
ブラウザのJSコンソールを開くと、アプリが間違ったコンテキストルートを要求していることが問題であることがわかります。そこにない/worklight/コンテキストにアクセスしています。
動作するcontextrootは次のとおりです:http:// localhost:8080 / apps / services / api / [APPNAME] / iphone / init
iphoneがヒットしようとしているコンテキストルート:http:// localhost:8080 / worklight / apps / services / api / [APPNAME] / iphone / init
ここに奇妙な部分があります。コンテキストルートは、AndroidおよびモバイルWeb環境に適しています。iPhone環境のみがコンテキストルートの問題を抱えています。
3つの環境はすべて、同じapplication-descriptor.xmlファイルと同じサーバーを共有しています。
以下はいくつかのファイル出力です。
以下のファイル:
/server/conf/worklight.properties
publicWorkLightHostname=localhost
publicWorkLightProtocol=http
publicWorkLightPort=8080
publicWorkLightContext=/worklight/
/apps/[APPNAME]/application-descriptor.xml
<worklightServerRootURL>http://localhost:8080</worklightServerRootURL>
それで、いくつか質問があります。
1)コンテキストルートを設定する場合、クライアントとサーバーの関係はどのようなものですか。コンテキストルートは2つの間で一致する必要がありますか?一方はマスターで、もう一方は単にそのスレーブであり、設定は必要ありませんか?
2)(やや無関係)この問題をデバッグしているときに、Eclipseデバイスでサーバーを「アンデプロイ」する方法についてのドキュメントがありません。(サーバーのアンデプロイはIBMの資料に記載されています)サーバー設定(worklight.properties)を変更するときに、サーバーを再デプロイする方法を知る必要があります。IDEでサーバーを停止して起動するだけで、手動で戦争を切り開くという言及を見てきました。
どんな助けでも大歓迎です。