Web services 如何在存在时滞的情况下测试web服务?

Web services 如何在存在时滞的情况下测试web服务?,web-services,testing,soap,curl,Web Services,Testing,Soap,Curl,我应该测试一个web服务,它将在服务器端创建一个帐户 但是,由于架构的原因,SOAP调用暂时不会返回消息。因此,我必须发出另一个cURL命令来测试帐户是否已成功创建 问题是:帐户创建时间大约需要50秒才能完成。如果我想自动化这个过程,那么发出cURL命令的最佳实践是什么?我应该一直等待约50秒或更长时间吗?或者我应该连续发送cURL,直到创建帐户/达到最大等待时间(比如90秒) 欢迎提出任何意见 提前谢谢 如果您不能(或不想)更改web服务,我会选择两者的组合 我应该一直等待约50秒或更长时间吗

我应该测试一个web服务,它将在服务器端创建一个帐户

但是,由于架构的原因,SOAP调用暂时不会返回消息。因此,我必须发出另一个
cURL
命令来测试帐户是否已成功创建

问题是:帐户创建时间大约需要50秒才能完成。如果我想自动化这个过程,那么发出
cURL
命令的最佳实践是什么?我应该一直等待约50秒或更长时间吗?或者我应该连续发送
cURL
,直到创建帐户/达到最大等待时间(比如90秒)

欢迎提出任何意见

提前谢谢

如果您不能(或不想)更改web服务,我会选择两者的组合

我应该一直等待约50秒或更长时间吗? 或者我应该连续发送cURL,直到创建帐户/达到最大等待时间(比如90秒)

我会等待一个
启动时间
秒(比如
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秒

创建操作是否很慢,或者您使用的是异步创建系统

如果您使用的是异步创建系统,并且do可以更改web服务,则可以:

  • 使用
  • 或者。。。让
    createAccount
    服务返回一个票证号码(整数),然后创建一个
    checkTicket
    方法,该方法允许您检查您的创建呼叫是否已被处理

您必须使用卷发吗?JavaEEJAX-WS支持允许回调的异步服务调用。这样,你就不必像用curl那样投票了。您将收到通知。