sudsを使用してプロキシ経由でデータを送信するための次のコードがあります。
import suds
t = suds.transport.http.HttpTransport()
proxy = urllib2.ProxyHandler({'http': 'http://192.168.3.217:3128'})
opener = urllib2.build_opener(proxy)
t.urlopener = opener
ws = suds.client.Client('http://xxxxxxx/web.asmx?WSDL', transport=t)
req = ws.factory.create('ActionRequest.request')
req.SerialNumber = 'asdf'
req.HostName = 'hola'
res = ws.service.ActionRequest(req)
理由はわかりませんが、2分または3分、あるいはそれ以上のデータを送信している可能性があり、「ゲートウェイタイムアウト」例外が発生することがあります。プロキシを使用しない場合、使用時間は2秒以下です。これがSOAP応答です:
(ActionResponse){
Id = None
Action = "Action.None"
Objects = ""
}
プロキシは、urllib2を介して、またはFirefoxなどの通常のWebブラウザーを使用して、他の要求で正しく実行されています。
ここで泡で何が起こっているのか誰かが知っていますか?
よろしくお願いします!!!