Hello.

My mission is to develop a client to a third party's webservice, which server machine and source codes I can't access or handle. All I have is the API specifications and the addresses.
The program works fine on DevelopEnvironment without authentication, but at ProductionEnvironment it requires basic http authentication plus certificate, and then I can't even receive any answer.
They said me that I could use a self-signed certificate, so I've created one in my Server ( CentOS Apache2+PHP5.3.3 ).

The company sent me a functional DotNetServiceClient piece of code, which includes the app.config which follows bellow.

I need some example of how to send this authentication and more the certificate in PHP SoapClient or CURL.

Here is the C# application's app.config, with fake IP and certificate:
XML Code:
<?xml version="1.0" encoding="utf-8" ?> <configuration> <system.net> <settings> <servicePointManager expect100Continue="false" /> </settings> </system.net> <system.serviceModel> <bindings> <wsHttpBinding> <binding name="WSHttpBinding_ISyasAutoServices"> <security> <message clientCredentialType="UserName" /> </security> </binding> </wsHttpBinding> </bindings> <client> <endpoint address="SERVICE_URL" binding="wsHttpBinding" bindingConfiguration="WSHttpBinding_ISyasAutoServices" contract="ServiceReference1.ISyasAutoServices" name="WSHttpBinding_ISyasAutoServices"> <identity> <certificate encodedValue="AwAAAAEAAAAUAAAAmqc2gWanBIqn7sbzoxWEw==" /> </identity> </endpoint> </client> <behaviors> <endpointBehaviors> <behavior> <clientCredentials> <serviceCertificate> <authentication certificateValidationMode="None" revocationMode="NoCheck"/> </serviceCertificate> </clientCredentials> </behavior> </endpointBehaviors> </behaviors> </system.serviceModel> </configuration>


And here is my current client code:
PHP Code:
/* PHP WebService Client */

$connectionParameters = array(
    
'login' => 'login'
    
,'password' => 'password'
    
,'trace' => TRUE
    
,'encoding' => 'UTF-8'
    
,'exceptions' => TRUE
    
,'cache_wsdl' => WSDL_CACHE_NONE
    
,'soap_version' => SOAP_1_2
    
,'local_cert' => file_get_contents('/my/certificate/directory/selfsignedcertificate/thatwebservice.pem')
    ,
'passphrase' => 'd3e343der434wds'
);
$theClient = new SoapClient($serverWSDLURL$connectionParameters);
$r $theClient->GetBasicWorkData(); 
The answer: No answer! Only timeOut.
Any example or tip?

Thank you very much.