2013-04-12 26 views
2

我應該測試一個Web服務,它將在服務器端創建一個帳戶。如何測試時間滯後的Web服務?

但是,由於體系結構原因,現在SOAP調用不會返回消息。所以我必須發出另一個cURL命令來測試賬戶是否已經成功創建。

問題是:帳戶創建時間需要大約50秒才能完成。如果我想自動執行此過程,發出cURL命令的最佳做法是什麼?我應該等待大約50秒或更長時間嗎?或者我應該連續發送cURL,直到賬戶創建/達到最大等待時間(比如90秒)?

歡迎任何評論。

在此先感謝。

+0

你必須使用捲曲嗎? Java EE JAX-WS支持允許回調的異步服務調用。有了這個,你不必像民意調查一樣投票。您將被通知。 – Jops

回答

1

如果您不能(或不想)更改Web服務,我會選擇兩者的組合。

我應該等待大約50秒或更長時間嗎? 或者我應該連續發送cURL直到賬戶被創建/達到最大等待時間(比如90秒)?

我會等待一個startingTime秒(比如50),並從那裏盡一切retryTime秒(比如10)的調用,最多maxTries調用(比如4)。那就是:

00:00 - call the createAccount 
00:50 - issue first cURL command to check if account was created 
if not created 
01:00 - issue another cURL command to check if account was created 
if not created 
01:10 - issue another cURL command to check if account was created 
if not created 
01:20 - issue another cURL command to check if account was created 
if not created: consider the creation has failed 

在一個側面說明,爲什麼你需要等待50多歲?

創建操作是如此緩慢還是您使用異步創建系統?

如果您使用的是異步創建系統和不能夠更改Web服務,您可以: