如何通过PHP中的soap连接主机?

时间:2015-09-15 07:55:18

标签: php soap

我正在尝试在工作中的系统上实施一个实验银行帐户检查工具。

我正在尝试使用php和Soap。

这是我第一次使用Soap,所以我不确定我是否正确使用它。

这是我的代码:

<?php
    $options = array(
        'local_cert'=>'certificate.p12', 
        'passphrase'=>'mypass', 
        'location'=>"https://secure.authenticator.uat.uk.experian.com/WASPAuthenticator/Service.asmx",
        'uri'=>'http://www.uk.experian.com/WASP/',
    );

    $authenticationBlock = "<WASPAuthenticationRequest>";
    $authenticationBlock .= "<ApplicationName>YFR Admin</ApplicationName>";
    $authenticationBlock .= "<AuthenticationLevel>CertificateAuthentication</AuthenticationLevel>";
    $authenticationBlock .= "<AuthenticationParameters/>";
    $authenticationBlock .= "</WASPAuthenticationRequest>";

    try {
        $client = new SoapClient(null, $options);

        $result = $client->STS($authenticationBlock);  // experian function - possibly the problem line

    } catch (soapFault $fault) {
        trigger_error("SOAP Fault: (faultcode: {$fault->faultcode}, faultstring: {$fault->faultstring})", E_USER_ERROR);
    } 

    var_dump($result);

?>

我得到的错误是:

  

致命错误:SOAP错误:(错误代码:HTTP,faultstring:无法连接到主机)/ myfile / on 21行

我觉得我在正确的地方使用了正确的细节,但我认为我必须遗漏一些明显的东西,或者只是做错了一切:)

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

无法访问您的'location'=>"https://secure.authenticator.uat.uk.experian.com/WASPAuthenticator/Service.asmx",。你确定这个价值吗?这就是SoapClient告诉你的。