通过PHP制作和显示SOAP请求

时间:2015-08-24 01:33:51

标签: php web-services soap wsdl

我想学习如何发出SOAP请求,然后在PHP中发布响应。这是我的请求代码:http://pastebin.com/PBb2i0XN

<SOAP-ENV:Envelope
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ns1="http://www.restfulwebservices.net/ServiceContracts/2008/01">
<SOAP-ENV:Body>
<ns1:GetStockQuote>
<ns1:request>Goog</ns1:request>
</ns1:GetStockQuote>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

WSDL是http://www.restfulwebservices.net/wcf/StockQuoteService.svc?wsdl

1 个答案:

答案 0 :(得分:0)

PHP有一个SOAP包装器。查看http://php.net/soap。这应该解决你所有的问题。

首先使用以下语法实例化SoapClient类。

$client = new SoapClient("some.wsdl");

然后,您可以使用SoapClient :: __ getFunctions()方法来确定WSDL为您提供的不同函数。

public array SoapClient::__getFunctions ( void )

此客户端将使您能够从WSDL中调用soap函数,就像它们是PHP函数一样

例如,为了从您的WSDL调用GetStockQuote方法,您需要做的就是以下内容。

$client = new SoapClient("http://www.restfulwebservices.net/wcf/StockQuoteService.svc?wsdl");
$client->GetStockQuote();

此外,当您使用getFunctions方法时,您将获得WSDL中每个方法所需的所有参数的列表。

希望这有用。一切顺利。