【发布时间】:2010-06-23 16:16:41
【问题描述】:
是否可以使用 PHP SoapServer 类在计算过程中将数据流回客户端?
我知道使用 ASP.NET 可以做到这一点
http://msdn.microsoft.com/en-us/library/aa528818.aspx
如果没有,是否可以实施?据我了解 php soap 设施,它们只允许我的函数返回一大块数据,一旦完成,库会将其转换为一个大的肥皂消息......:-/
提前感谢:)
【问题讨论】:
是否可以使用 PHP SoapServer 类在计算过程中将数据流回客户端?
我知道使用 ASP.NET 可以做到这一点
http://msdn.microsoft.com/en-us/library/aa528818.aspx
如果没有,是否可以实施?据我了解 php soap 设施,它们只允许我的函数返回一大块数据,一旦完成,库会将其转换为一个大的肥皂消息......:-/
提前感谢:)
【问题讨论】:
简短的回答是,这对于 SoapServer 类是不可能的。
当前实现在检查参数的有效性时构建生成的 XML 文档(以确保您没有发送疯狂的无效 SOAP 参数)。
虽然可以实现您在扩展程序中提出的要求,但我将做出重大改变,因为它必须在参数上循环两次,一次检查有效性(这样他们就可以抛出 Soap Fault ),然后第二次序列化到客户端。
可能在您的 PHP 脚本中的用户空间中实现此功能,但这需要您手动序列化所有响应数据(因为内置类不会向您公开此功能)。如果您控制请求的双方(客户端和服务器),这不是一个糟糕的选择,并且不需要利用服务器库提供的任何“高级”soap 功能。
为此,您只需发送一个标准的soap XML 标头,然后在您将其直接写入客户端时循环遍历您的数据并将其转换为XML。
【讨论】: