下面是我使用 SOAP 访问 Web 服务的测试代码,这些服务是使用 .NET 开发的。
执行代码时出现异常文件:
...'vendor'zendframework'zendframework'library'Zend'Soap'Client'DotNet.php:199
消息:
*.Net Webservice 参数必须分组到数组中:array("a" => $a, "b" => $b, ...)。*
public function testAction()
{
$client = new DotNet(
'http://ip/Services/SomeService.svc?wsdl',
array(
'encoding' => 'UTF-8',
'soap_version' => SOAP_1_2
)
);
//var_dump($client->getFunctions());
//var_dump($client->getOptions());
var_dump($client->call('ValidateUser',array('customercode'=>'Cust','username'=>'Admin','passwork'=>'Admin')));
die
}
问题出在参数传递上
重新定义代码,如下所示
var_dump($client->call('ValidateUser',array(array('customercode'=>'Cust','username'=>'Admin','passwork'=>'Admin'))));