[英]passing token in soap header php
嘗試調用以下Web服務,這是在soap標頭中傳遞令牌的正確方法,它返回錯誤的令牌響應,但是當我將其與soap ui一起使用時,該令牌正確。
$soapclient = new SoapClient('http://api.fm-
web.co.za/webservices/AssetDataWebSvc/DriverProcessesWS.asmx?WSDL');
$token = array('Token'=>'XXXXXX');
$header = new SoapHeader('ass','soapenv',$token,false);
$response = $soapclient->__soapCall('GetDriverList',array(''),NULL,$header);
var_dump($response);
經過一番混亂后這個工作。
$soapclient = new SoapClient('http://api.fm-
web.co.za/webservices/AssetDataWebSvc/DriverProcessesWS.asmx?WSDL');
//$token = array('Token'=>'XXXXXX');
$header = new
SoapHeader('http://www.omnibridge.com/SDKWebServices/AssetData',
'TokenHeader',array('Token'=>'XXXXXX'),false);
//$DriverID = 3;
$params = array('DriverID'=>'3');
$response = $soapclient-
>__soapCall('GetDriver',array($params),NULL,$header);
var_dump($response);
SoapHeader定義可能很棘手,特別是如果您不熟悉SOAP。
我的建議是使用WSDL to PHP生成器,它將為您提供一個SDK,該方法可以設置任何SoapHeader,尤其是此SoapHeader。
您應該嘗試PackageGenerator項目,該項目應該在您必須創建的ServiceType \\ Get實例中為您提供SoapHeader方法。 看一下生成的tutorial.php
文件。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.