作为一个 SOAP 新手,我正在尝试用 PHP 构建一个 SOAP 服务的客户端。问题:PHP SOAP 扩展不能用于直接与服务交互,因为 HTTP 下载发生在应用程序之外 - 见下文。
现在,有两个请求需要按顺序执行:
登录:我使用PHP DOM 扩展手动创建了登录请求的 XML 。我还发现了一种将响应反序列化为 XML 对象层次结构的技巧,与 PHP SOAP 扩展返回的完全一样。到目前为止,一切都很好。
搜索:根据我可以在 soapUI中解析的定义,这个请求大得吓人:
由于不清楚的原因,某些搜索参数必须指定两次。
必须传递来自SignIn响应的大型 XML 块。一个这样的块是SecurityToken,它不是字符串,而是 XML 元素的复杂层次结构。
如何最好地构建搜索请求?我应该只使用 PHP DOM 扩展作为SignIn,还是有更聪明的方法?
PS:说明HTTP下载是如何实现的:PHP应用程序将HTTP请求写入数据库。下载守护程序然后获取请求,执行它,并将响应写入数据库。最后,PHP 应用程序的另一个实例从那里获取它。这是异步请求的一种实现。