0
我正在與一個.net服務器解決方案一起提供驗證Web服務以及其他幾個服務URL。訪問過程涉及對認證服務URL的初始調用,並使用'Authenticate'soap調用,該調用應該返回訪問令牌。然後使用此令牌調用其他服務URL以從服務器檢索數據。使用PHP驗證.NET Web服務
我遇到的問題是我爲驗證過程提供了一個用戶名和密碼,但沒有說明證書如何發送到服務器。此外,我試圖使用PHP訪問基於Web的Web服務(基於.net)。
到目前爲止,我已經設法使用wsdl2php爲認證服務URL生成類,但是這些類沒有提供任何關於如何發送用戶名和密碼的指示。
我已經嘗試添加憑據肥皂頭:
$headerContent = "<o:UserName xmlns:o=\"$namespace\">
<o:UserName>$uname</o:UserName>
<o:Password>$pword</o:Password>
</o:UserName>";
$headerVar = new SoapVar($headerContent, XSD_ANYXML, null, null, null);
$header = new SoapHeader($namespace, 'o:ClientCredentials', $headerVar);
$this->__setSoapHeaders(array($header));
try {
return $this->__soapCall('Authenticate', array());
} catch (Exception $e) {
throw new Exception('Not allowed.', 0, $e);
}
...但我收到「訪問被拒絕」的消息。是否有正確的方法將憑據傳遞給服務以成功進行身份驗證?