このドキュメントでは、GeneXus プロトタイピングクラウドへのデプロイのプロセスに関する有用な詳細 (
[ Deploy to cloud ] プロパティが True に設定されている場合) と、発生する可能性のある共通の問題について説明します。アプリケーションのクラウドへのデプロイ方法の詳細については、「
クラウドへのデプロイ: 手順」を参照してください。
KB (ナレッジベース) が作成されるか、GeneXus Server からチェックアウトされると、GUID (一意のユニバーサル ID) が割り当てられます。また、環境が作成されると、同様に GUID が割り当てられます。
GeneXus Account は両方の GUID を "アプリケーション ID" として使用します。つまり、最初にアプリケーション (ナレッジベース/環境) が
クラウドでのデプロイを使用して実行されると、
GeneXus の開発者サイトでカタログ化されます。このカタログには、各アプリケーションの、次の設定に関する情報が含まれます: 主キー (ナレッジベース GUID および環境 GUID)、所有者 (GeneXus ユーザー)、ナレッジベース名、環境名、Web サーバー、仮想ディレクトリー、DB 名など。
この情報は、アプリケーションを実行するたびに、更新のために GeneXus Account に送信されます。
次の 2 つのタイプのリクエストがあります:
- Create: 最初にアプリケーションが実行されるときと、"繊細な" プロパティ (例: Virtual Directory、DBName、GAM) が変更されるたび。
- Check settings: アプリケーションが実行されるたび。
2 つのタイプの主な違いとして、
Create リクエストは
オンラインにする必要があり、プロパティの値が検証されます (例: 仮想ディレクトリーおよび DB 名の可用性、アプリケーションの所有権)。リクエストが失敗すると、ビルドプロセス (つまり、プログラムの分析/生成/コンパイル) が停止します。一方、
Check settings リクエストは、失敗してもビルドプロセスが継続されるので、
オンラインにする必要はありません。
Windows 資格情報マネージャを使用して格納されます。
IDE オプションの
[ ツール ] -> [ GeneXus Account ユーザー ] で、 [ パスワードを記憶する ] チェックボックスをオフにするか、Windows のコントロールパネルで、
[ ユーザー アカウント ] -> [ 資格情報マネージャ ] -> [ Windows 資格情報 ] -> [ 汎用資格情報 ] から直接 "GXCredential4GXTechnical" 資格情報を削除することで、この資格情報を削除できます。
例: DB "Invoicing" を作成した Java 環境があり、この DB にアクセスする Ruby 環境を作成したいと仮定します。
Ruby ジェネレーターの [ Reorganize Server Tables ] プロパティを "No" に設定し、 [ Data Store ] プロパティを Java 環境の値にします。つまり、サーバー名、データベース名、ユーザーおよびパスワードを Java 環境から Ruby 環境にコピーします。
プロキシを使用している場合、アプリケーションをデプロイしてデータベースを作成するために、次の例外を追加する必要があります:
<サーバー名> tcp/80
<サーバー名> tcp/443
<サーバー名> tcp/3306 (MySQL)
<サーバー名> tcp/1433 (MS SQL Server)
例:
trialapps.genexus.com tcp/80
trialapps.genexus.com tcp/443
trialapps.genexus.com tcp/3306 (MySQL)
trialapps.genexus.com tcp/1433 (MS SQL Server)
trialapps2.genexus.com tcp/80
trialapps2.genexus.com tcp/443
trialapps2.genexus.com tcp/1433
また、次の例外も追加する必要があります:
www2.genexusnet.com tcp/443
www2.genexusnet.com tcp/80
www2.gxtechnical.com tcp/80
www2.gxtechnical.com tcp/443
発生することが多いエラーを次に示します:
エラー: GXtechnical サービスの例外: "リモートサーバーがエラーを返しました: (407) プロキシ認証が必要です。"
========== GeneXus Account (GXtechnical) クラウドリクエストの開始 ==========
エラー: GXtechnical サービスの例外: "リモートサーバーがエラーを返しました: (407) プロキシ認証が必要です。"
GXtechnical クラウドリクエストが失敗しました
注: GeneXus では、接続に使用するプロキシが http 1.1 プロトコルをサポートしている必要があります。
ファイル gx_last_transfer.zip のビルド中...
2944 KB をアップロード中
エラー:
アプリケーションをクラウドにデプロイできませんでした
エラー:
操作がタイムアウトになりました
Windows を VirtualBox 仮想マシンで実行している場合に、NAT ネットワークモードを使用すると、このエラーが発生することがあります。このモードには制限があり、Web をブラウズできるようにしますが、アプリケーションをクラウドにデプロイできません。
解決方法: 仮想ネットワークモードを別のモードに変更してみてください。
参照先:
http://www.virtualbox.org/manual/ch06.html
========== データの追加開始 ==========
Type:GeneXus.Data.GxADODataException.DBMS Error Code:-2.Connection Timeout Expired.
ログイン前ハンドシェイク認証の使用を試行しているときに、タイムアウト時間が経過しました。
これは、ログイン前ハンドシェイクが失敗したか、サーバーが時間内に応答できなかったことが原因である可能性があります。
サーバーへの接続の試行に費やした時間 - ログイン前の初期化=315; ハンドシェイク=12432;
データの追加に失敗しました
すべてリビルドが失敗しました
クラウドへのデプロイを実行し、
トランザクションに応じてデータを追加すると、出力にこのエラーが現れることがあります。
解決方法: [ Additional connection string attributes ] プロパティで接続タイムアウトを長めに設定してください。
The requested resource (/Id2eaaa0f5f95e44cfbffa6c01aff366f6/servlet/webpanel1) is not available.
Java を使用して実行すると、ローカルの Tomcat バージョン 7.x インストールがある場合、このエラーが発生することがあります。
解決方法: apps2 を使用する場合は、ジェネレーターの
[ Use Annotations for servlet definition ] プロパティを
Yes に設定します。
java.lang.UnsupportedClassVersionError: tickets : xx.0 はサポート対象外の major.minor バージョンです (クラスのチケットをロードできません)
org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:2335)
org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:976)
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1451)
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1329)
Java を使用して実行すると、JDK のバージョンがクラウドで実行されている Java より新しい場合に、このエラーが発生することがあります。
解決方法: apps2 または apps4 を使用する場合は、ジェネレーターの [
Compiler Path ] プロパティを JDK 7 以前のコンパイラー (javac.exe) に設定します。
プロキシを使用している可能性があります。プロキシの設定をチェックしてください。
Squid の場合の追加内容: ignore_expect_100 on (
http://squid-web-proxy-cache.1019090.n4.nabble.com/http-returncode-417-and-POST-request-td3031566.html)。
入力されたユーザーまたはパスワードが無効です。
既にユーザーがある場合は、
[ ツール ] > [ GeneXus Account ユーザー... ] オプションを使用して設定します。
ユーザーがない場合は、
ここで作成します。
完全なエラーメッセージ: "\error: 認証ユーザーの例外: "メッセージを受信できる https://www2.genexusnet.com/wside/adeployserverslist.aspx?wsdl でリッスンしているエンドポイントがありませんでした。これは一般に、アドレスまたは SOAP アクションが正しくない場合に発生します。詳しくは、InnerException を参照してください (ある場合)。"
このエラーは、アプリケーションを作成しようとしたが、GeneXus Account にアクセスできないということを意味します。インターネット接続をチェックしてください。
このエラーが出力に表示される場合は、
http://www.gxtechnical.com/ にアクセスして、アカウントを確認してください (メールアドレスを検証する必要があります)。
8.エラー: 不正な GeneXus Account ユーザー情報
このエラーは、たとえばユーザー名ではなくメールアドレスを使用してログインしようとすると表示されます。ユーザー名を使用するようにしてください。
完全なエラーメッセージ: "error: 認証エラー: 'http://apps2.genexusx.com/MyApp/' アプリケーションディレクトリーが使用可能ではありません。"
このエラーは、別のアプリケーションが既にこのサーバー/仮想ディレクトリーを使用しているので、別のアプリケーションをデプロイするためにそれを使用できないということを意味します。サーバーまたは仮想ディレクトリーを変更してください。
"アプリケーション" は、ナレッジベース GUID + 環境 GUID を意味することに留意してください。
注: GeneXus X Evolution 2 Upgrade 3 以前のバージョンでは、このメッセージは次のとおりです: "認証エラー: [ URL ] アプリケーションディレクトリーが使用可能ではありません。"
エラー: 認証エラー: [ DbName ] データベースは既に存在しているため、作成することはできません。
完全なエラーメッセージ: "error: 認証エラー: "'MyDB' データベースは既に存在しているため、作成することはできません。"
このエラーは、別のアプリケーションが既にこのサーバー/データベース名を使用しているので、別のアプリケーションをデプロイするためにそれを使用できないということを意味します。別のデータベースを作成しようとする場合、 [ Database name ] プロパティを変更してください。既存の DB にアクセスしたい場合、 [ Reorganize Server Tables ] プロパティを "No" に設定して、この DB にアクセスするための適切な資格情報 (サーバー、DB 名、ユーザー、およびパスワード) を設定します。
完全なエラーメッセージ:
内部エラー: 関数の呼び出しに失敗しました (ユーザー 'xxxxx' のログインに失敗しました)
再編成プロセスは正常に完了しませんでした。
[ Server name ] プロパティと
[ Deploy Server URL ] プロパティをチェックします。d2c を使用する場合は、アプリケーションと DB が同じサーバーに配置されている必要があります。
アプリケーションがデプロイされると、所有者はデプロイした GeneXus Account (GXtechnical) のユーザーになります。
このエラーは、所有者でない GeneXus Account (GXtechnical) のユーザーが DB または仮想ディレクトリーを変更しようとしているということを意味します。
このエラーは、ユーザーが GeneXus 社のクラウドにアプリケーションをデプロイする権限を持っていないことを意味します。会社の担当者に確認してユーザー情報をチェックします。
このエラーは、選択した DBMS、ジェネレーター、およびクラウドサーバーの組み合わせを使用できないことを意味します。
詳細については、
こちらのドキュメントの「注」を参照してください。
"NNN" は、テーブルが作成されるデータベースサーバーです。
[ Database name ] プロパティをチェックします。
注: GeneXus X Evolution 2 Upgrade 3 以前のバージョンでは、このメッセージは次のとおりです: "エラー: DB サーバーを使用できません"
"NNN" は、アプリケーションがデプロイされるアプリケーションサーバーです。
[ Deploy Server URL ] プロパティをチェックします。
注: GeneXus X Evolution 2 Upgrade 3 以前のバージョンでは、このメッセージは次のとおりです: "エラー: アプリケーションサーバーを使用できません"
14.エラー: (417) Expect ヘッダーによる拡張が失敗しました。
========== Web config の更新の開始 ==========
Web config の更新中...
Web config の更新に成功しました
ファイル gx_last_transfer.zip のビルド中...
6219 KB をアップロード中
エラー: アプリケーションをクラウドにデプロイできませんでした
エラー: リモートサーバーが次のエラーを返しました: (417) Expect ヘッダーによる拡張が失敗しました。
この問題は、ワークステーションからデータを受け入れるためにサーバーがリクエストヘッダーを処理している場合に発生する可能性があります。この検証を回避するには、
genexus.exe.config の
<system.net> タグの下に次の情報を追加します:
<settings>
<servicePointManager expect100Continue="false" />
</settings>
このメッセージは次のように表示されます:
ファイル gx_last_transfer.zip のビルド中...
34692 KB をアップロード中
エラー: 無効な URI: URI の形式を確認できませんでした。
開発者メニューの実行に失敗しました"
[ Deploy Server URL ] プロパティに http または https が含まれていることを確認します。
16.エラー: アプリケーションをクラウドにデプロイできませんでした
残り 544 KB
残り 289 KB
残り 34 KB
Web サイトのデプロイ中
エラー:
アプリケーションをクラウドにデプロイできませんでした
エラー:
基礎になる接続が閉じられました: 維持される必要があった接続が、サーバーによって切断されました。
ホームの実行に失敗しました
解決方法: アプリケーションをもう一度実行します (F5 キーを押します)。
========== 実行の開始 ==========
... サーバーを待機中 ...
エラー: Web サーバーにアクセスできませんでした
実行に失敗しました
ホームの実行に失敗しました
注:
- 次のメッセージが表示される場合もあります: "Web サーバーにアクセスできないか、アプリケーションの実行中に問題が発生しました。やり直してください。問題が解決しない場合は、gxcloud (at) genexus.com までご連絡ください"
- GeneXus X Evolution 3 Upgrade 1 以降では、実行しようとしている URL とエラーに関する技術的な説明がメッセージに含まれます。たとえば、次のようなメッセージです: "Web サーバーにアクセスできないか、「Link」でのアプリケーションの実行中に問題が発生しました。やり直してください。リクエストは中止されました: 操作がタイムアウトになりました。問題が解決しない場合は、gxcloud (at) genexus.com までご連絡ください"
解決方法: アプリケーションをもう一度実行する (F5 キーを押す) か、関連する URL を実行してエラーの詳細を確認します。
例外の詳細: System.BadImageFormatException: ファイルまたはアセンブリー 'sapnco'、またはその依存関係の 1 つを読み込めませんでした。間違ったフォーマットのプログラムのロードが試みられました。
解決方法: 64 ビットバージョンの sapnco*.dll を使用します。詳細については、「
ERP Connector - GeneXus .NET ジェネレーターでのアプリケーションの生成」を参照してください。
内部エラー: 関数呼び出しに失敗しました (ログイン失敗。このログインは信頼できないドメインからのものであり、Windows 認証で使用できません。)
この内部エラーは通常、データストアがローカルで、開発者が [ クラウドにデプロイ ] を使用し始めたときに発生します。リモート データ ストアは、信頼できない接続では機能しません。このエラーは、データストアの
[ Use trusted connection ] プロパティと
[ Deploy to cloud ] プロパティが
Yes に設定されている場合に発生します。
解決方法: データストアに移動し、
[ Use trusted connection ] プロパティを No に設定します。
Prototyping features and Deployment of applications for Smart Devices