コネクションの再利用の可否は,SOAPクライアントとSOAPサーバが通信したときの状態によって異なります。
- コネクションを再利用できる条件(コネクションを解放しない)
- クライアントからのリクエストに含まれるHTTPバージョン,およびサーバからのレスポンスに含まれるHTTPバージョンが1.1の場合に,次のどちらかの状態のとき
- ConnectionヘッダがKeep-Aliveである
- Connectionヘッダが存在しない
- コネクションを再利用できない条件(コネクションを解放する)
- 次のどれかの状態のとき
- サーバからのレスポンスに含まれるHTTPバージョンが1.1で,Connectionヘッダがcloseとなっている場合
- サーバからのレスポンスに含まれるHTTPバージョンが1.0の場合
- SSL通信(リクエストURLに"https"を使用)の場合
- サーバからコネクションを切断された場合※1
- ソケット通信で例外が発生した場合※2
- HTTP 1.1仕様に従っていないChunkフォーマットがレスポンスデータに含まれている場合※2
- レスポンスデータが"HTTP"で開始されていない場合※2
- 注※1
- 切断されたコネクションは破棄されたあと再作成されます。再作成されたコネクションを利用して,サーバに再接続します。
- 注※2
- ユーザプログラムにはC4Faultが返されます。