介面php參數
.net做的wcf介面,部署IIS上訪問是可以的
我用php soap調用測試,是否能通,也是可以的:
header('Content-Type: text/plain');
$client = new SoapClient('http://testu.sh.jinri.com/Flight.User.SOA/SuggestService.svc?wsdl');
echo '
';
echo "提供的方法\n";
print_r( $client->
getFunctions ());
echo "相關的資料結構\n";
print_r($client->getTypes () );
echo '';
?>
瀏覽器上看到的結果
調用wcf中的這個方法:GetSuggestList
這個方法在介面裡面是這樣的:
public GetSuggestListResponse GetSuggestList(GetSuggestListRequest request)
所以參數是個對象
我用PHP調用如下:
$client = new SoapClient('http://testu.sh.jinri.com/Flight.User.SOA/SuggestService.svc?wsdl');
$param = array('UserId'=>'1920','PageIndex'=>'1','PageSize'=>'5');
print_r($client->GetSuggestList($param));
但是拋出這樣的的錯誤:
Fatal error: Uncaught SoapFault exception: [a:InternalServiceFault] 未將對象引用設定到對象的執行個體。 in D:\APMServ5.2.6\www\htdocs\wsdltest\index.php:22 Stack trace: #0 [internal function]: SoapClient->__call('GetSuggestList', Array) #1 D:\APMServ5.2.6\www\htdocs\wsdltest\index.php(22): SoapClient->GetSuggestList(Array) #2 {main} thrown inD:\APMServ5.2.6\www\htdocs\wsdltest\index.php on line 22
求大神幫忙,整了一天了,不知道啥原因。