- PR -

VB.NETとJAVAの値渡しに関して

1
投稿者投稿内容
YAMASOU
会議室デビュー日: 2006/10/16
投稿数: 13
お住まい・勤務地: 北海道
投稿日時: 2006-10-16 14:42
お初にお目にかかります。
この掲示板をよく拝見させて頂いておりましたが
この度はじめて書き込みをさせていただきます。

以下、お分かりになる方がおりましたら
ご返信のほどをお願いいたします。

私がいま製造している物は
VB.Netより、値を渡してその値を元に
JAVAにてSQL処理などを行っております。

VB.Net→JAVAに値を渡す際に
小さなデータ(日付や入力項目)などは
以下のように

Dim webClient As New System.Net.WebClient
Dim sr As System.IO.Stream = webClient.OpenRead(url + "?data1=" + 変数1)

URLパラメータとして送っているのですが。

スプレッドデータなど大きなデータの場合は
一度変数にXml書式でデータを作成し、
その変数をJAVAに渡すような仕組みにすることとなりました。
変数が4000バイト以上?だと

 Dim sr As System.IO.Stream = webClient.OpenRead(url + "?xml1=" + XML変数1)

にてエラーとなってしまうので
その他の方法でこの変数をJAVAに渡したいのですが
なにかよい方法はございませんでしょうか?

尚、実Xmlファイルを作成しての受け渡しも考えましたが
実ファイル生成は今回の場合はNGとなりました。

環境はEclipce3.02
   Oracle Application Server
Oracle10g
を使用しております。

有識者の方々がおりましたら
ご教授のほどお願いいたします。
あしゅ
ぬし
会議室デビュー日: 2005/08/05
投稿数: 613
投稿日時: 2006-10-16 16:00
引用:

YAMASOUさんの書き込み (2006-10-16 14:42) より:
スプレッドデータなど大きなデータの場合は
一度変数にXml書式でデータを作成し、
その変数をJAVAに渡すような仕組みにすることとなりました。
変数が4000バイト以上?だと

 Dim sr As System.IO.Stream = webClient.OpenRead(url + "?xml1=" + XML変数1)



URLのQueryString(GETのパラメータ)は長さの制約が厳しいのが普通です。
POSTのBody部としてXMLを送信するようにしましょう。
YAMASOU
会議室デビュー日: 2006/10/16
投稿数: 13
お住まい・勤務地: 北海道
投稿日時: 2006-10-16 16:45
>>あしゅ殿

迅速なご回答
ありがとうございます。

POSTのBody部としてXMLを送信する
方法を調査して、その方法でテストしてみます。
nagise
ぬし
会議室デビュー日: 2006/05/19
投稿数: 1141
投稿日時: 2006-10-16 16:57
参考までに
http://ml.php.gr.jp/pipermail/php-users/2001-September/001732.html

HTTPでの通信部分の話なので.NET系で作られたWebシステムと
やり取りする場合も同様の問題が発生します。

Javaと言っているのはJavaのServlet技術を用いて作られた
Webシステムのことをさしているのですよね?

Webサーバとやり取りするための仕組みとして規格化されている
XML-RPCなどを用いると汎用性が高くてよいかと思います。

http://www.google.co.jp/search?hl=ja&q=XML-RPC
YAMASOU
会議室デビュー日: 2006/10/16
投稿数: 13
お住まい・勤務地: 北海道
投稿日時: 2006-10-17 11:42
>>あしゅ殿
以下、POST送信にて解決いたしました。
ありがとうございました。

strURL = "http://localhost:xxxx/testpage"
strKey = "xml1="+strXmlData

objXML = CreateObject("MSXML2.ServerXMLHTTP")
objXML.open("POST", strURL, False)
objXML.setRequestHeader("Content-Type", " application/x-www-form-urlencoded")
objXML.setRequestHeader("Content-Length", "length")
objXML.send(strKey)
strXMLDoc = objXML.responseText


>>nagise
XML-RPCについては私の勉強不足のため、
今回は見送らせていただきました、
次の機会にてチャレンジしてみようと思います。
ありがとうございました。
1

スキルアップ/キャリアアップ(JOB@IT)