0

午後全部、

これが私の文脈です:

私は、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でサーバーを停止して起動するだけで、手動で戦争を切り開くという言及を見てきました。

どんな助けでも大歓迎です。

4

1 に答える 1

1

コンテキスト・ルートを使用している場合、worklight.properties と application-descriptor.xml の両方に存在する必要があります。両方が一致していることを確認してから、再ビルドしてデプロイし、問題が解決しないかどうかを確認してください。

Worklight の開発版を使用する場合、サーバーは Eclipse 内で実行される Jetty に基づいています (これは、Eclipse にインストールした Worklight Studio プラグインにバンドルされています)。何も「アンデプロイ」する必要はありません。worklight.properties と application-descriptor.xml に変更を加えて、アプリケーションを再構築するだけです。変更は、サーバーとクライアントの両方に反映されます。

ただし、コンテキスト ルートの使用は主に、Tomcat、Liberty、WAS などのアプリケーション サーバーを使用する場合に使用されることに注意してください。

于 2013-03-12T18:40:32.860 に答える