所以,我会马上出来说我对SOAP很新。
我已经完成了很长一段时间的PHP和XML,但实际上从未用WSDL和SOAP做过任何事情。所以这里(希望这不是太愚蠢)。
我有一个我想要求的WSDL文件。 例如:http://whateverservice.org/?wsdl
我想为一个名为“JobAPI_CheckConnection”的作业做一个简单的API调用。 使用SoapUI,这是我在查看该工作时获得的SOAP代码:
<soapenv:Envelope xmlns:soapenv="http://schemas/xmlsoap.org/soap/envelope/" xmlns:tem="http://tempuri.org/">
<soapenv:Header/>
<soapenv:Body>
<tem:JobAPI_CheckConnection/>
</soapenv:Body>
</soapenv:Envelope>
那么,我该如何将其翻译成PHP? 从查看本教程:http://devzone.zend.com/2202/php-and-soap-first-steps/
我得到了一些,但不是全部...... 从我到目前为止收集的内容来看,我的PHP代码看起来应该与此类似:
<?php
$wsdl = "http://whateverservice.org/?wsdl";
$client = new SoapClient($wsdl);
$result = $client->JobAPI_CheckConnection();
echo $result->JobAPI_CheckConnectionResult;
?>
但是这没有返回任何内容,并且网站无法加载。换句话说,某些事情显然是错误的。在我到目前为止看到的教程中,你发送一个请求以及一个参数来获得响应,但是这个,你只需要调用那个工作,我有点期待得到的结果,但我没有线索如何...
任何一个人都愿意为我指出正确的教程或类似方法。或者,如果有人愿意直接给我答案,那很酷,我希望我可以从中学习。
旁注:我也不确定是否需要登录我正在连接的服务,但如果是这样,我老实说旁边没有任何线索如何...我假设它是一个添加到“newSoapClient”调用的数组或参数,但是我怎么也不知道......
感谢您照顾好noobie!
答案 0 :(得分:0)
首先,您应该查看native PHP SoapClient class。
然后,如果您喜欢使用PHP对象和结构化编程,我建议您使用WSDL到php生成器,以简化您创建请求和接收响应的方式。为此,请查看可在WsdlToPhp
在线使用的https://www.wsdltophp.com项目