copyright by えびぞう
J2EEで動作しているアプリケーションに
別のVBシステムからアクセスしてデータを
受け取りたいのですが、可能なのでしょうか?
#インターフェイスが思いつきません
投稿日時 : 2008年10月27日 1:13
XML Webサービス経由ですね
IIOPかSOAP(XML Webサービス)ですね。
すみません。どこかに判りやすい 資料は無いでしょうか?
SOAPはいろいろな意味でヘビーなのでXML-RPCぐらいにしておくほうがいいかもなぁ。 サーバサイドにAXISとかのSOAPのフレームワークを置くことになるんだけど、これがなかなかしんどい。 自分はVBAと通信させる羽目に陥ったんだけど、Soap Toolkitがかなり腐っててデータ型とかはVBAの事情に合わせる必要があったり。 .NetなVBだとマシなのがあるんじゃないかと期待するところだけど、その辺は詳しくない。 XML-RPCならサーバサイドはXML書き出すだけなのでJSPで出力でも大丈夫。これもVBサイドのライブラリはよくわかんないけど。
サーバ側の修正が必要ですが HTTP要求の送信とHTTP応答の受信が簡単そうでした。 Dim http As New MSXML2.XMLHTTP30Class http.open("GET", "http://www.ne.jp/asahi/hishidama/home/tech/index.html", False) http.send() AxWebBrowser1.Navigate("about:blank") AxWebBrowser1.Document.write(http.responseText) open()でHTTPのメソッド(GETやPOST)、要求の送信先、同期モードを指定する。 同期モードは、send()の呼び出しが「応答を待たずにすぐ戻る」「応答が来るまで戻らない」を選択する。Falseだと応答が来るまで戻らない。 send()を呼ぶとHttpRequestが送信され、HttpResponseが返ってくる。 戻ってきたレスポンスは、responseText(文字列)・responseBody(バイト配列)・responseStream(ストリーム)といった形で取得できる。 文字列の場合はUNICODEでないと文字化けする(VB内部がUNICODEだから)。その場合はresponseBodyからUNICODEへ変換してやる。 このレスポンスの文字列をWebBrowserに渡すとブラウザーに表示することも出来る。
Powered by: Copyright © masabun