【GeneXus Tips】HTTP通信 – パラメータ受取編


夜更かしで寝不足です。okita です。
今日もGeneXusTipsをかきましょー

今回は他のシステムからPOSTされたパラメータを受け取る方法です。
GeneXusだけで開発する場合はあんま使わない機能だと思いますw

まずはGeneXusでプロシージャを作成。
名前は「TestPost」←なんでもいいよw

プロパティの設定を以下に変更
Main program ⇒ True
Call protocol ⇒ HTTP

Sauce は以下

&Name = &HttpRequest.getVariable(‘Name’)
これだけで受け取るコトが可能です。

&Name ⇒ VarChar(40)型の変数です。
&HttpRequest ⇒ HttpRequest型の変数です。

あとは&Name変数を好きに使えば問題無しです!

次にPOST側ですが今回はTipsってコトなんでHTMLでサッと作成。

こんなんで( `д´)b オッケー!
「form」の「action」部分にはGeneXusで作成したプロシージャのアドレスを設定します。
今回の場合はこんな↓感じだと思います(Javaでビルドしました)
http://localhost:8080/TestBlogJavaEnvironment/servlet/atestpost

「a」+ プロシージャ名(小文字)になるはず
C# だとまた少し違う気がします(´・ω・`)

そして作成したHTMLでフォームの情報を入力後
送信ボタンをクリックすれば
GeneXusで作成したプロシージャが動作して
DBに登録とかして、画面遷移して( `д´)b オッケー!な感じになったはずです!

ちなみに送信側はちゃんと文字コードを「UTF-8」で送信してあげてください。
じゃないとGeneXus側で受け取ったパラメータが文字化けると思います
(実際私は文字化けたw)

前にこんな記事も書きましたが
GeneXus Tips【HTTP通信】
組み合わせればいろいろ作成できると思います。

GeneXusだってPOSTを受け取ることぐらいできるんです!
やればできる子なんですよGeneXusは・・・たまに無理なコトもあるが・・・

ということで以上になります。