SoapServer无法在Zoap软件包上加载生成的wsdl文件
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SoapServer无法在Zoap软件包上加载生成的wsdl文件相关的知识,希望对你有一定的参考价值。
laravel /框架:“ 5.6”php 7.3.5
我正在使用Zoap软件包制作Soap Server API,当我尝试通过ngrok访问Laravel Application(本地)上的端点时(这不是问题),最终出现以下错误:
PHP警告:SoapServer :: SoapServer(http://7184fa0e.eu.ngrok.io/zoap/demo/server?wsdl):无法打开流:HTTP请求失败!在C: something something something something something something vendor zendframework zend-soap src Server.php在线915 [2019年7月4日星期四11:06:11] PHP警告:SoapServer :: SoapServer():I / O警告:无法加载外部实体“ http://7184fa0e.eu.ngrok.io/zoap/demo/server?wsdl" inC: something something something something something something vendor zendframework zend-soap src Server.php在线915上[2019年7月4日星期四11:06:11] PHP致命错误:SOAP错误:解析WSDL:无法从中加载'http://7184fa0e.eu.ngrok.io/zoap/demo/server?wsdl':加载失败外部实体“ http://7184fa0e.eu.ngrok.io/zoap/demo/server?wsdl”
我正在尝试调试以发现发生了什么,据我所知,这可能是一个无限循环。如果我向/zoap/demo/server?wsdl
发出请求,它将返回wsdl罚款,尽管如果我向/zoap/demo/server
发出请求,它将被加载60秒然后返回
PHP致命错误:最长执行时间超过60秒
在阻止zoap/demo/server?wsdl
端点时。
我跟踪了代码以找到确切的循环发生位置,似乎在这里:$server = new SoapServer($this->wsdl, $options);
,Server.php
文件,getSoap
功能。 $this->wsdl
以字符串形式返回wsdl URL,并以soap_version返回$options
一个数组,所以我想它们工作正常。
出于好奇,我尝试将public function server($key)
中的ZoapController
拆成两半,以在另一条路径上获取wsdl,并解决了无限循环。虽然,但是我最终得到了一个空的XML文件。
我没有主意,如果有人能找我,我将不胜感激。如果需要,请提供其他信息。
预期结果应该是获取相应动作的xml文件。
我有同样的问题。您解决了吗?
谢谢!
以上是关于SoapServer无法在Zoap软件包上加载生成的wsdl文件的主要内容,如果未能解决你的问题,请参考以下文章
生成的 windows exe (pyinstaller) 无法加载 _cffi_backend
如何填充复合消息并作为 SoapServer 响应 XML 返回?