Open geoff-maddock opened 9 years ago
Maybe late, but maybe usefull for others facing this issue.
I had this problem in vCenter 6 with an untrusted certificate (test setup).
I changed the Factory\SoapClient.php file, the method make() to be as follows, essentially disabling the certificate validation.
Please note that for a production environment I highly recommend against making this change.
function make(\Vmwarephp\Vhost $vhost, $useExceptions = 1, $trace = 1) {
$context = stream_context_create(array(
'ssl' => array(
'verify_peer' => false,
'verify_peer_name' => false,
'allow_self_signed' => true
)
));
$options = array(
'trace' => $trace,
'location' => $this->makeRequestsLocation($vhost),
'exceptions' => $useExceptions,
'connection_timeout' => 120,
'classmap' => $this->wsdlClassMapper->getClassMap(),
'features' => SOAP_SINGLE_ELEMENT_ARRAYS + SOAP_USE_XSI_ARRAY_TYPE,
'stream_context' => $context
);
$soapClient = $this->makeDefaultSoapClient($this->wsdlFilePath, $options);
if (!$soapClient) throw new Ex\CannotCreateSoapClient();
return $soapClient;
}
Cheers @jvdminne I was running into the same problem testing it locally with some tunneling (and therefore invalidating the certificate). Your fix is great for testing!
This looks like something that could be very useful to me. However, I’m having trouble connecting to my host.
Using a simple, existing SOAP client request, i can connect to my vhost using: ‘https://top.mydomain.net/sdk’
When trying to connect using this library, I tried:
But when I try to connect, I get errors:
I tried to use (removing the https:// and the sdk) ‘top.mydomain.net:443’
And I get a similar, but slightly less verbose error message:
Added a bit of debugging to Service.php, but i'm not sure what to do with the response:
Any suggestions? I’m connecting to a vCenter server running 5.5