sudsがWSDLとXSDを期待どおりにキャッシュしていないことは間違いありません。キャッシュされたオブジェクトが使用されていないことを私が知る方法は次のとおりです。
- クライアントの作成には約30秒かかります。
client = Client(url)
- ロガーエントリは、30秒間全体でXSDファイルとWSDLファイルの一貫したダイジェストを示しています
- Wiresharkは、30秒間全体でXSDファイルとWSDLファイルを保存しているサーバーへの一貫したTCPトラフィックを示しています
- プログラムを実行するたびに、キャッシュ内のファイルが更新されているのがわかります
私は、sudsクライアントを作成し、単一の要求を送信し、応答を取得してから終了する小さなプログラムを持っています。私の期待は、プログラムを実行するたびに、URLからではなく、ファイルキャッシュからWSDLファイルとXSDファイルをフェッチする必要があることです。これが私が思う理由です:
client.options.cache.duration
に設定されています('days', 1)
client.options.cache.location
に設定されてc:\docume~1\mlin\locals~1\temp\suds
いると、プログラムを実行するたびにキャッシュファイルが生成および再生成されているのがわかります- しばらくの間、プログラムの実行間でキャッシュが再利用されないのではないかと思いましたが、その場合はファイルキャッシュは使用されないと思います。これは、メモリ内キャッシュで問題がないためです。
sudsキャッシングがどのように機能するのか誤解していますか?