php在循环中进行SOAP调用

php在循环中进行SOAP调用,php,loops,soap,Php,Loops,Soap,我有一个php应用程序,它需要通过重复调用SOAP来获取用户数据,最多可达700个。不幸的是,出于报告的目的,似乎有必要反复呼吁。无论如何,我有一个For循环(可以重复多达700次),它调用一个函数,该函数反过来进行SOAP调用。但是我得到一个关于SOAP调用在30秒后超时的错误。显然,在第一个SOAP调用返回到调用函数之后,我需要等待下一个SOAP调用。那么如何做到这一点。下面是一段代码: //calling function foreach($xml_apicheck->childre

我有一个php应用程序,它需要通过重复调用SOAP来获取用户数据,最多可达700个。不幸的是,出于报告的目的,似乎有必要反复呼吁。无论如何,我有一个For循环(可以重复多达700次),它调用一个函数,该函数反过来进行SOAP调用。但是我得到一个关于SOAP调用在30秒后超时的错误。显然,在第一个SOAP调用返回到调用函数之后,我需要等待下一个SOAP调用。那么如何做到这一点。下面是一段代码:

//calling function
foreach($xml_apicheck->children() as $child)
{
  getprincipalinfoandemail($endusersconame);
 }
 //called function
 function getprincipalinfoandemail($loginid) {
  //making the SOAP calls and emailing//works for the first time called
   return true;
  }

要在不花费超长时间的情况下完成大量SOAP请求,最好的办法是使用PHP脚本并限制生成的进程数。每个fork将执行一个SOAP语句,等待它,然后在最后终止。几年前,我写了一个脚本来做这件事,并写了一篇关于它如何工作以及如何实现的教程/帖子。这个特别的例子是如何使用NuSOAP库使用Sony Ericsson SMS网关(使用SOAP)。希望这能让你很快得到解决:

PS:这是几年前写的,所以我可能正在使用常规的MySQL库连接到数据库。如果您必须连接到数据库,请确保您使用的是PDO或mysqli,尤其是当您从GET或POST获取查询输入时


编辑:响应您的评论,您不需要所有这些能力-您可以考虑创建您的SOAP请求头和体,然后将其发送到您需要使用CURL的地方。这将等待响应(如果需要,甚至将其定向到变量)。

您好,我稍后会尝试。我正在使用使用SimpleXML SOAP调用的AdobeConnect API。谢谢我在上面的链接中将NuSOAP库包含在我的源代码中,根据我的经验,NuSOAP(在编写时)是最容易快速工作的库。幸运的话,您可以简单地修改我的变量、数据源和SOAP数据,然后运行它并使其工作:-)嘿,非常感谢。我想你的代码在这一点上比我需要的能力强得多。我需要在调用方函数的循环中等待被调用函数返回的功能。在形成要发送的数据后,始终可以使用cURL发送实际的SOAP请求。因此,您创建SOAP请求的头和主体,然后使用cURL发送它们——这将在继续之前等待响应,除非您明确要求它不要这样做。