問題タブ [mobilefirst-server]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
openssl - MobileFirst での SSL 証明書の使用
MobileFirst バージョン 6.3.0 を使用しており、MobileFirst サーバーを https モードのみで実行するようにセットアップしようとしています。基本的に、これは、サーバー側で生成された自己署名証明書が必要であり、アプリが機能するために Android デバイスに証明書がインストールされている必要があることを意味します。
ポート 10443 でのみ実行するように MobileFirst サーバーをセットアップしましたが、Chrome ブラウザー (Android デバイスから) がhttps://<server>:10443/worklightconsole
、信頼できない Web サイトへのアクセスについて警告することなくアクセスできることを確認できます [これは、証明書が適切にインストールされたことの確認と見なします]モバイルデバイスで]。しかし、MobileFirst から生成した Android アプリがサーバーに接続できないことがわかりました (これは接続の問題ではないと思いますhttp://<server>:10080
。使用するアプリをビルドすると、アプリはうまく機能するからです。使用するアプリを再構築しますhttps://<server>:10443
。
MFP のドキュメントに記載されている手順に従って、自己署名証明書を作成しました [ http://www-01.ibm.com/support/knowledgecenter/SSHS8R_6.3.0/com.ibm.worklight.installconfig.doc/admin/ t_updating_keystore_liberty.html?lang=ja]
私が従った正確な手順を詳しく説明しましょう。
サーバー側の変更:
- サーバーがポート 10443 でのみ実行されるように、server.xml から httpPort="10080" を削除します。
- サーバーの自己署名証明書を作成します。openssl を使用して自己署名証明書を生成しました。まず、コマンド「openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout privateKey.key -out certificate.crt」で証明書と秘密鍵ファイルを作成します。
- 次に、コマンド「openssl pkcs12 -export -in certificate.crt -inkey privateKey.key -out server.p12 -passout pass:passServerP12 -passin pass:passServer」を使用して、証明書とキーを 1 つのファイルに圧縮するキーストア ファイルを作成します。
- 上記で生成した新しいキーストアを使用するように mfp サーバーを構成します。基本的に、server.p12 ファイルをワークスペース・ディレクトリーの下の「MobileFirstServerConfig\servers\worklight\resources\security」にコピーします。
<keyStore id="defaultKeyStore" password="worklight"/>
server.xml を削除 (またはコメントアウト)します。-
[次の行を追加] の
<feature>ssl-1.0</feature>
下に設定されていることを確認します<featureManager>
<ssl id="mySSLSettings" keyStoreRef="myKeyStore"/> <keyStore id="myKeyStore" location="server.p12" password="passServerP12" type="PKCS12"/> <sslDefault sslRef="mySSLSettings"/>
- ビルド設定を に設定してモバイル アプリをビルド
https://<server>:10443
し、mfp サーバーにデプロイする
モバイル デバイス側の変更:
- 証明書 (上記で生成されたcertificate.crt) をモバイル デバイスにダウンロードします。ファイルをインストールし、デバイスで証明書を受け入れます。
- Chrome ブラウザーでアクセスして、この証明書がモバイル デバイスとブラウザーによって信頼されていることを確認します
https://<server>:10443/worklightconsole
。このステップは、次のスクリーンショットに従って進みました: http://www-01.ibm.com/support/knowledgecenter/?lang=en#!/SSHS8R_6.3.0/com.ibm.worklight.installconfig.doc/admin /t_installing_root_CA_android.html . - アプリをデバイスにダウンロードすると、 でサーバーへの接続が開始され
https://<server>:10443
ます。
上記のステップ 2 はうまくいきましたが、ステップ 3 は機能していません。基本的に、Chrome ブラウザーは証明書を取得しますが、モバイル アプリは取得しません。
Android デバイスから信頼できる (および自己署名された) 証明書を取得するために、Eclipse でモバイル アプリをビルドする際に何かする必要がありますか?
android - MobileFirst Platform AppCenter apk のアップロードが失敗する
Tomcat と Oracle を使用して RHEL 上に MFP 6.3 サーバーをセットアップしました。アプリ センターが正常にデプロイされました。apk ファイルをアップロードしようとすると、アップロードに失敗したことがコンソールに表示されます。
サーバー ログ (Catalina.out) は次のとおりです。
「Datei oder Verzeichnis nicht gefunden」は、ファイルまたはディレクトリが見つからないことを意味します。
server.xml には、適切に定義された Android aapt があります。
apk は MFP Appcenter の別のインストールでテストされ、正常にアップロードされたので、これとは別の問題のようです
MFP のインストール フォルダー (/app/inet/app/IBM/MobileFirst_Platform_Server/) は、別のユーザーによって所有されています。そのため、android-sdk ディレクトリにアクセス許可を追加しましたが、アップロードはまだ機能していません。ユーザーがアクセス許可を持っていないディレクトリに作成される一時ファイルがあると思います。
ibm-mobilefirst - IBM MobileFirst 7.0、オフラインで作業中のサンプル アプリケーションが機能しない
環境:
1. Windows 7 および
2. IBM MobileFirst Platform Studio 7.0
Getting Started モジュールからの IBM MobileFirst Platform 7.0 のサンプルWorking offlineアプリケーションは、以下の手順でインポートおよびテストされます。
ただし、 サーバーが停止したときと起動したときに、それぞれdisconnectDetectedおよびconnectDetected関数はトリガーされませんでした。
ログを以下に示します。
ただし、IBM MobileFirst Platform 6.3 Sample Working Offline アプリケーションから始めると、IBM MobileFirst Studio 6.3 で完全に機能します。
ibm-mobilefirst - IBM MobileFirst 6.3 : MBean にアクセスするための JMX 接続の取得に失敗しました
JDK1.7 を使用して IBM MobileFirst 6.3 で実行されているプロジェクトをデプロイしようとすると、Eclipse kepler SR2 の MobileFirst Server コンソールに次のエラーが表示されます。
[エラー] MBean にアクセスするための JMX 接続を取得できませんでした。JMX 構成エラーが発生している可能性があります: 接続が拒否されました: 接続 [注意] 実行中の mxbeans が見つかりません
また、MobileFirst コンソールに次のエラー メッセージが表示されます。
FWLSE3030E: ランタイム「myproject」が Worklight 管理データベースに存在しません。データベースが壊れている可能性があります。
このエラーがすべてのプロジェクトで表示されるまで、すべてが正常に機能していました。新しいプロジェクトを作成しようとしましたが、毎回同じエラーが発生します。MobileFirst 開発サーバーを削除して再度追加しようとしましたが、何も変更されませんでした。
完全なログ:
アプリケーション・エラー SRVE0777E: アプリケーション「com.worklight.core.auth.impl.AuthenticationFilter.isWaitingForSynchronization:607」で例外が発生しました javax.servlet.ServletException: java.lang.RuntimeException: 管理サービスの開始を待機中にタイムアウトになりましたup.120秒
com.worklight.core.auth.impl.AuthenticationFilter.isWaitingForSynchronization(AuthenticationFilter.java:607) で com.worklight.core.auth.impl.AuthenticationFilter.doFilter(AuthenticationFilter.java:144) で com.ibm.ws.webcontainer [内部クラス] の .filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:194)
原因: java.lang.RuntimeException: 管理サービスの起動を待機中のタイムアウト.120 秒。
com.worklight.core.init.WorklightServletInitializer$1.run(WorklightServletInitializer.java:121) で java.lang.Thread.run(Thread.java:745) で
これらは、Mobilefirst 開発サーバーで実行しようとしたときに Eclipse コンソールに表示される別のエラーです。
[エラー] FWLSE3000E: サーバー・エラーが検出されました。
FWLSE3012E: JMX 接続エラー。理由: 「FWLSE3012E: JMX 接続エラー。理由: 「接続が拒否されました: 接続」。詳細については、アプリケーション サーバー ログを確認してください。詳細については、アプリケーション サーバーのログを確認してください。
[エラー ] FWLSE0242E: アプリケーションのランタイム情報の同期に失敗しました。サーブレットの初期化に失敗しました。worklightadmin サービスとの通信に失敗したため、サーブレットはサービスを拒否します。
一般的な理由は、worklightadmin サービスが正しく開始されていないか、worklightadmin サービスとランタイムの ibm.worklight.admin.environmentid プロパティーの値が同じでないことです。[プロジェクト myproject] 管理サービスの起動を待機中にタイムアウト.120 秒。
エラーログは次のとおりです。
アプリケーション・エラー SRVE0777E: アプリケーション「com.worklight.core.auth.impl.AuthenticationFilter.isWaitingForSynchronization:607」で例外が発生しました javax.servlet.ServletException: java.lang.RuntimeException: 管理サービスの開始を待機中にタイムアウトになりましたup.120秒
com.worklight.core.auth.impl.AuthenticationFilter.isWaitingForSynchronization(AuthenticationFilter.java:607) で com.worklight.core.auth.impl.AuthenticationFilter.doFilter(AuthenticationFilter.java:144) で com.ibm.ws.webcontainer [内部クラス] の .filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:194)
原因: java.lang.RuntimeException: 管理サービスの起動を待機中のタイムアウト.120 秒。
com.worklight.core.init.WorklightServletInitializer$1.run(WorklightServletInitializer.java:121) で java.lang.Thread.run(Thread.java:745) で
これらは、Mobilefirst 開発サーバーで実行しようとしたときに Eclipse コンソールに表示される別のエラーです。
[エラー] FWLSE3000E: サーバー・エラーが検出されました。
FWLSE3012E: JMX 接続エラー。理由: 「FWLSE3012E: JMX 接続エラー。理由: 「接続が拒否されました: 接続」。詳細については、アプリケーション サーバー ログを確認してください。詳細については、アプリケーション サーバーのログを確認してください。
[エラー ] FWLSE0242E: アプリケーションのランタイム情報の同期に失敗しました。サーブレットの初期化に失敗しました。worklightadmin サービスとの通信に失敗したため、サーブレットはサービスを拒否します。
一般的な理由は、worklightadmin サービスが正しく開始されていないか、worklightadmin サービスとランタイムの ibm.worklight.admin.environmentid プロパティーの値が同じでないことです。[プロジェクト myproject] 管理サービスの起動を待機中にタイムアウト.120 秒。