【发布时间】:2011-11-29 20:13:49
【问题描述】:
我是stackoverflow的新手,经过一番搜索后没有找到我的问题的答案,所以我希望有人可以帮助我。
我必须使用这个接受三个参数、一个字符串和两个 xml 参数的 Web 服务方法。
下面是我正在使用的代码示例。 Web 服务方法引发异常,“SubmitXml 方法的必需参数为空。”
所以我猜它在第二个和第三个参数上没有收到任何 xml。谁能给我一个关于如何正确使用 DOM 或任何其他 PHP 的提示?先感谢您。
$soapClient = new SoapClient($this-SOAPURL, array('login'=>$this->account,'password'=>$this->password));
$xmlstr ='<xmlbody>';
$xmlstr.='<someXML>Some XML text content here!</someXML>';
$xmlstr.='</xmlbody>';
$dom = new DOMDocument();
$dom->loadXML($xmlstr);
$filter = new DOMDocument();
$filter->loadXML('<_ xmlns=""/>');
print_r ($soapClient->SubmitXml('userIDString',$dom->saveXML(), $fil->saveXML()));
【问题讨论】:
-
SoapClient 是否还有 SubmitXml() 方法? :) 为什么不使用对象结构...或至少使用数组来发送请求...底线就是 SOAP 的全部意义(简单对象访问协议):) ? php.net/manual/en/soapclient.soapcall.php
-
SubmitXml 是属于 Web 服务本身的方法,由 SoapClient::__getFunctions() 方法返回...使用 SoapClient::__soapCall 或直接调用该方法实际上是相同的,对吧?
-
@José Albernaz Senra:是的,有点像它是一个网络服务功能。但是,请检查您的语法并确保您使用了正确的变量名。我建议您在脚本顶部启用错误报告和最高级别的警告
error_reporting(~0); ini_set('display_errors', 1);。 -
@hakre:谢谢 hakre... 启用了错误报告,并且确实收到了 webservice 方法引发的错误。我的问题是 $dom->saveXML() 会返回一个有效的 XML 供该方法使用吗?