SOAP Client po HTTPS z certyfikatami SSL po obu stronach

Muszę opracować klienta SOAP, a dostawca prześle mi te specyfikacje:

Będą transmitowane przy użyciu protokołu HTTPS przez IP i będą pakowane jako dokumenty XML, które dostosowują się do różnych definicji schematu XML.Komunikacja jest synchroniczna, strona trzecia powinna czekać na odpowiedź.Każde żądanie i odpowiedź zostaną podpisane.

Używam klasy soapClient z PHP i wszystko działa poprawnie, z wyjątkiem sytuacji, gdy próbuję użyć mojego klucza prywatnego do nawiązania komunikacji z serwerem:

Code: WSDL | Message: SOAP-ERROR: Parsing WSDL: Couldn't load from 'https://remoteserver/CustomerManagementService?wsdl' : failed to load external entity "https://remoteserver/CustomerManagementService?wsdl

Następnie próbowałem utworzyć plik .pem, który zawiera mój klucz prywatny połączony z moim certyfikatem, tak jak przeczytałem w:jak wysłać żądanie SOAP z certyfikatem SSL w PHP?

Ale nadal zwraca błąd:

SOAP-ERROR: Parsing WSDL: Couldn't load from 'http://remoteserver:80/CustomerManager/proxy/CustomerManagementService?WSDL%2FGWTCommonResources%2Fwsdl%2FGWTCommonMessages' : failed to load external entity "http://remoteserver:80/CustomerManager/proxy/CustomerManagementService?WSDL%2FGWTCommonResources%2Fwsdl%2FGWTCommonMessages

Zastanawiam się, czy jest jakiś sposób, aby uzyskać dokładnie nieprzetworzone dane wysyłane przez klasę soapClient PHP. I gdzie muszę ustawić certyfikat dostawcy.

Próbowałem już z „$ client -> __ getLastRequest ()”, ale otrzymuję NULL. To jest mój kod:

$client = new anotherSoapClient($service, array(
    'local_cert'    => $pem, 
    'style'         => SOAP_RPC,
    'use'           => SOAP_ENCODED,
    'soap_version'  => SOAP_1_2,
    'authentication'=> SOAP_AUTHENTICATION_DIGEST,
    'ssl'           => array(
        'ciphers'=> "SHA1",
        'verify_peer' => false, 
        'allow_self_signed' => true
    ),
    'https' => array(
        'curl_verify_ssl_peer'  => false,
        'curl_verify_ssl_host'  => false
    ),
    'cache_wsdl'    => WSDL_CACHE_NONE,
    'cache_ttl'     => 86400,
    'trace'         => true,
    'exceptions'    => true,
));

// Test connection
echo BR.'Functions: <pre>';var_dump($client->__getFunctions());echo '</pre>';

$XMLrequest = $client->prepareRequest($email);
$response = $client->__anotherRequest('getCustomerInfo', $XMLrequest);

echo "REQUEST:\n" . $client->__getLastRequest() . "\n";

Przy okazji, używam PHP 5.4.9 na moim lokalnym komputerze, a serwer ma PHP 5.3.10, a anotherSoapClient to klasa, która rozszerza klasę PHP soapClient:PHP soapClient wysyła niestandardowy XML

questionAnswers(2)

yourAnswerToTheQuestion