0
我一直在嘗試使用PHP SoapClient來首次使用WCF API,但到目前爲止沒有鎖定。使用PHP SoapClient來使用WCF API
的開始,我需要檢索從LOGIN
功能的令牌,並調用等功能時使用此令牌。登錄細節:
- 用戶名: '常規'
- Passord: ''(空,不爲空)
到目前爲止,我已經嘗試過多種組合,通常是這樣的:
<?php
ini_set('soap.wsdl_cache_enabled',0);
ini_set('soap.wsdl_cache_ttl',0);
$params = array(
"soap_version" => SOAP_1_2,
"trace" => 1,
"exceptions" => 0,
);
$client = new SoapClient('http://bibjure.rwaao.no:8001/Jussystemer/BibjureService?singleWsdl', $params);
$retval = $client->Login('regular','');
if (is_soap_fault($retval)) {
trigger_error("SOAP Fault: (faultcode: {$retval->faultcode}, faultstring: {$retval->faultstring})", E_USER_ERROR);
}
var_dump($retval);
這將導致以下錯誤: PHP Fatal error: SOAP Fault: (faultcode: s:Sender, faultstring: The creator of this fault did not specify a Reason.) in /mnt/data/fredrik/wcf-test.php on line 17
我不知道如何解決這個錯誤。我希望有人可能會看到我的代碼中的錯誤。
非常感謝。
同樣的錯誤仍然存在。我猜測SoapHeader中的參數需要修改。不幸的是,我不知道是什麼。 – frigg
@frigg是的,你必須修改標題中的參數。以此爲例。 $'auth = array( 'UserName'=>'USERNAME', 'Password'=>'PASSWORD', 'SystemId'=> array('_'=>'DATA','Param'=>'PARAM' ), ); $ header = new SoapHeader('NAMESPACE','Auth',$ auth,false); $ client - > __ setSoapHeaders($ header); –