使用php调用SOAP服务

时间:2013-06-13 17:48:59

标签: php soap soap-client

您好我是SOAP新手,我设法使用asp.net创建一个Web服务,其中包含一个名为GetPersons的方法。该服务已经过测试并且可以正常运行。

我的问题是用php来消耗它。这是我到目前为止的事情:

 $client = new SoapClient("http://localhost:55400/Convert.asmx?WSDL");
 $client->__soapCall("GetPersons");

这会抛出一个错误,告诉我__soapCall需要第二个参数参数,但mu GetPersons方法没有参数。

我还测试过PHP是否从链接中获取任何方法:

 print_r($client->__getFunctions());

这就是我的回忆:

Array ( [0] => GetPersonsResponse GetPersons(GetPersons $parameters) [1] => GetPersonsResponse GetPersons(GetPersons $parameters) ) 

那么如何调用我的GetPersons方法?

1 个答案:

答案 0 :(得分:1)

$url = 'http://localhost:55400/Convert.asmx?WSDL';
$client = new SoapClient($url);

$xmlr = new SimpleXMLElement("<Get></Get>");
$xmlr->addChild('searchtxt', $_GET['searchtxt']);

$params = new stdClass();
$params->xml = $xmlr->asXML();

$result = $client->GetPersons($params);

您需要阅读有关要传递的参数的文档。

相关: