0

suds を使用して Web サービスに接続しています。

from suds.client import Client

 client=Client(url)

 #then i'm using web servise methods to get table. It is very big table.

 big_table=client.service.GetVeryBigTable()

 #nd trying read every row

 for row in big_table:
     print row.Id + row.Nmae + row.Description + row.Item1 +......

問題は - 私が行を読んでいるとき、それは私のローカルメモリから来るのですか、それともリモートのウェブサービスから毎回読むのですか? つまり、変数big_tableにはメモリ内のすべてのテーブルへのリンクが含まれていますか、それともイテレータのようにリモートから毎回取得しますか?

4

1 に答える 1

0

したがって、この質問に対する答えは誰にもわかりません。私は自分でそれを理解しました。

メソッドが応答を返すと、ローカル メモリ内のすべてのデータが XML 形式で読み込まれます。だから、大きな結果を得ようとするとき。たとえば、接続を切断したよりも大きなテーブルがあり、エラーが表示されます。そのリモートサーバーは接続を閉じます。

私の場合の唯一の方法は、ID の反復を使用してすべての行を要求するよりも、最初に ID を取得することです。

于 2010-07-14T13:23:31.687 に答える