Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/246.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从php调用soap web服务_Php_Soap - Fatal编程技术网

如何从php调用soap web服务

如何从php调用soap web服务,php,soap,Php,Soap,我可以在chrome中使用wizdler使用soap web服务,但需要知道如何在php代码中使用它。 从Wizdler我可以得到正确的回复,例如,我发布的信息如下: 问题是如何从php代码调用此服务,到目前为止我所做/尝试的是: <?php $wsdl = "http://64.20.37.90/VTWebServiceTest/VisualService.svc?wsdl"; $client = new SoapClient($wsdl); $request_param = a

我可以在chrome中使用wizdler使用soap web服务,但需要知道如何在php代码中使用它。 从Wizdler我可以得到正确的回复,例如,我发布的信息如下:

问题是如何从php代码调用此服务,到目前为止我所做/尝试的是:

<?php

$wsdl = "http://64.20.37.90/VTWebServiceTest/VisualService.svc?wsdl";

$client = new SoapClient($wsdl);

$request_param = array(

    "storeNumber" => "valid value",
    "enterpriseId" => "valid value",
    "credential" => "valid value"

);

try {

    $responce_param = $client->GetCategories($request_param);
    $result = $responce_param->GetCategoriesResult;
    print_r($result);
} catch (Exception $e) {

    echo "Exception Error!";
    echo $e->getMessage();

}

?>

但它总是返回消息“12 |无效服务凭证”

有人能帮我吗

提前谢谢。

也许试试这个

$responce_param = $client->GetCategories($request_param);
print_r($responce_param);
甚至

$responce_param = $client->GetCategories($request_param);
$values = get_object_vars($responce_param);
$myresults = object_to_array($values);
print_r($myresults);
也许试试这个

$responce_param = $client->GetCategories($request_param);
print_r($responce_param);
甚至

$responce_param = $client->GetCategories($request_param);
$values = get_object_vars($responce_param);
$myresults = object_to_array($values);
print_r($myresults);

“无效的服务凭证”可能意味着您的凭证无效。您是否确定使用了有效的参数?你是否用另一种方法测试了SOAP调用,比如使用SoapUI?我认为Felippe是正确的,我尝试了这是SoapUI,但得到了相同的错误。我认为这需要一个有效的值。。。。“凭证”=>“有效值”感谢Felippe和Mike。通过使用chrome扩展名“wizdler”调用api,我可以得到预期的正确响应。我猜在通过SoapClient发送请求时,请求格式有问题。正如你们在我的问题中所看到的,有一个信封通过了维兹德勒。我不确定SoapClient将接受什么样的请求格式。我甚至尝试发送XML,但没有成功。Filippe,因此我确信凭据是有效的。但正如它所说的“12 |无效的服务凭证”。这意味着它没有读取参数,因为它没有按照预期的方式提供。“无效的服务凭证”可能意味着您的凭证无效。您是否确定使用了有效的参数?你是否用另一种方法测试了SOAP调用,比如使用SoapUI?我认为Felippe是正确的,我尝试了这是SoapUI,但得到了相同的错误。我认为这需要一个有效的值。。。。“凭证”=>“有效值”感谢Felippe和Mike。通过使用chrome扩展名“wizdler”调用api,我可以得到预期的正确响应。我猜在通过SoapClient发送请求时,请求格式有问题。正如你们在我的问题中所看到的,有一个信封通过了维兹德勒。我不确定SoapClient将接受什么样的请求格式。我甚至尝试发送XML,但没有成功。Filippe,因此我确信凭据是有效的。但正如它所说的“12 |无效的服务凭证”。这意味着它没有读取参数,因为它没有按照预期的方式提供。