- - PR -
Excel⇔AxisでのSOAP送受信
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2003-09-12 22:07
お世話になります。
現在、Axisで公開したWebサービス(RPC)をExcelから呼び出す アプリケーションを作成しているのですが、データが非常に 大きいため、時間がかかってしまいConnecionTimeoutが 発生してしまいます。 時間がかかってもよいので接続しつづけたいと思っています。 サーバ側の設定方法で解決できないかと思い、いろいろ 調べてみたのですがうまくいきません。 小さいデータであればクライアントがExcelのときも Javaのときも問題なく実行でき、データが大きくなると 下記のエラーが発生するという状況です。 どなたかご存知でしたら、ご教授のほど 宜しくお願いします。 ------エラー内容------- ■Excel(クライアント)⇔Java(Webサービス)において →Excel(クライアント側) 実行時エラー'-2147221504' Connector:Connection time out. →Java(サーバ側) - java.io.IOException: java.net.SocketException: Connection reset by peer: socket write error -以下省略- ・・・ (↓Javaクライアントの場合も試したのでエラーを記載します) ■Java(クライアント)⇔Java(Webサービス)において →Java(クライアント側) AxisFault faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException faultSubcode: faultString: java.net.SocketTimeoutException: Read timed out faultActor: faultNode: faultDetail:{http://xml.apache.org/axis/}stackTrace: Java.net.SocketTimeoutException: Read timed out -以下省略- ・・・ →Java(サーバ側) - java.io.IOException: java.net.SocketException: Connection reset by peer: socket write error -以下省略- ・・・ -----環境--------- ■クライアント&サーバ(ローカルでWebサービスの呼び出し) Windows2000Pro Tomcat4.1.24 axis-1_1 j2sdk1.4.2 [ メッセージ編集済み 編集者: ken 編集日時 2003-09-12 22:08 ] [ メッセージ編集済み 編集者: ken 編集日時 2003-09-12 22:10 ] [ メッセージ編集済み 編集者: ken 編集日時 2003-09-13 12:09 ] |
|
投稿日時: 2003-09-14 01:35
クライアント側でタイムアウト値を設定されてますか?
Excelは知らないのですが、Axisであれば以下のような感じです。 ((org.apache.axis.client.Call)call).setTimeout(new Integer(1000*30)); |
|
投稿日時: 2003-09-17 10:43
返答が遅くなりました。
kanさんご指摘ありがとうございます。 ご指摘の通りやってみたところ サーバ側(Java)、クライアント側(Java)とも エラーを発することなく予想した動作となりました。 --------------------------------------------- //自動生成されたスタブ内のコードを以下のように設定 _call.setTimeout(new Integer(600*1000)); --------------------------------------------- サーバ側の設定とばかり思っていました。 失礼しました。 Java同士での接続はできたことになりましたが、 これからExcelのtimeoutの設定について調べてみます。 [ メッセージ編集済み 編集者: ken 編集日時 2003-09-17 11:54 ] |
|
投稿日時: 2003-09-17 11:53
Java同士での接続を元にExcelも下記コードを
自動生成されたスタブに記述することでできました。 Set test = New SoapClient30 test.ConnectorProperty("Timeout") = 600000 参考にしてください。 また、何かご指摘ありましたら 宜しくお願いします。 |
1