2016-06-17 8 views
0

Ich benutze Soap-Client-Service und ich habe einen Fehler, der sagt - von der Politik abgelehnt. (vom Kunden). Auch ich habe PEM-Datei richtig aufgenommen. In der pem-Datei habe ich einen privaten Schlüssel und einen Zertifizierungsschlüssel im unteren Format hinzugefügt, was meiner Meinung nach perfekt ist.Php Nach Richtlinie abgelehnt. (vom Kunden)

Bitte helfen Sie mir, den Fehler zu beheben - durch die Richtlinie abgelehnt. (Vom Client)

-----BEGIN RSA PRIVATE KEY----- and -----END RSA PRIVATE KEY----- show a private key in PEM format. 
-----BEGIN CERTIFICATE----- and -----END CERTIFICATE----- show a certificate file in PEM format. 

Unten ist mein Code:

<?php 
    $path_to_wsdl = "https://webservicesgatewaytest.sprint.com:444/rtb2/services/wireless/account/ContactPreferenceManagementService/v1?wsdl"; 
    ini_set("soap.wsdl_cache_enabled", "0"); 

    $local_cert = "trocglobal-01-pub.pem"; 

    $client = new SoapClient($path_to_wsdl, array('local_cert'=> $local_cert,'trace' => 1,'encoding' => 'UTF-8')); // Refer to http://us3.php.net/manual/en/ref.soap.php for more information 

    $headerBody['trackingMessageHeader'] = array(
    'applicationId'=>'ENGE', 
    'applicationUserId' => 'ENGE', 
    'consumerId' => 'engage', 
    'messageId' => rand(100000,500000), 
    'timeToLive' => 600, 
    'messageDateTimeStamp' => date("c") 
); 

    $request = array(
    'globalPreferenceList' => array(
    'globalPreferenceInfo' => array(
     'contactType'=>'Phone', 
     'certifyRuleName' => 'SPRCFT01', 
     'contactTypeValueInfo' => array('mdn' => '7600763938'), 
     'campaignName' => 'SPRINT' 
     ) 
    ) 
    ); 

    try { 
     $header = new SoapHeader('http://integration.sprint.com/eai/services/ContactPreferenceManagementService/v1/ContactPreferenceManagementService.wsdl', 
     'wsMessageHeader', // header name 
     $headerBody); 

     $client->__setSoapHeaders($header); 

    try { 
     //$response = $client->queryContactGlobalPreferences($request); // Soap web service invocation 
     $response = $client->__soapCall('QueryContactGlobalPreferences',array($request)); // Soap web service invocation 

     echo "<pre>";print_r($response);exit; 

    } 
    catch (Exception $e) 
    { 
     echo 'Caught exception: ', $e->getMessage(), "\n"; 
    } 

if ($response->HighestSeverity != 'FAILURE' && $response->HighestSeverity != 'ERROR'){ 
    printSuccess($client, $response); 

    //fwrite($fp, $response->CompletedShipmentDetail->CompletedPackageDetails->Label->Parts->Image); //Create PNG or PDF file 
}else{ 
    printError($client, $response); 
} 

writeToLog($client); // Write to log file 
} catch (SoapFault $exception) { 
printFault($exception, $client); 
} 

?> 

Antwort

0

Scheinen, wie Sie Sprint-Zertifikat in falschem Weg installiert. Laden Sie Ihr Zertifikat herunter und installieren Sie es:

Inside TOOLKIT_HOME: a. Führen Sie Sprint-CertGen.bat unter Windows Oder b. Führen Sie Sprint-CertGen.sh unter Unix aus

Überprüfen Sie auch, ob Ihre Firewall keine Sprint-URLs blockiert. Aus Sicherheitsgründen kann ich hier keine URLs posten

Verwandte Themen