hola.
alguna vez me estuve rompiendo el coco con algo así y fueron horas invertidaas pero luego me tope con algo en la universidad de toronto, con lo cual logre acceder a un web service con SSL WS-Security.
descarga la libreria aqui:
http://www.sis.utoronto.ca/web_servi...sample-1.1.zip
y ahora una pequeña implementación de uso, espero esto te sea de ayuda.
Client.php
Código PHP:
Ver original<?php
require('soap-wsse.php');
class mySoap extends SoapClient {
function __doRequest($request, $location, $saction, $version) {
$doc = new DOMDocument('1.0');
$doc->loadXML($request);
$objWSSE = new WSSESoap($doc);
$objWSSE->addUserToken("YOUR_USERNAME_HERE", "YOUR_PASSWORD_HERE", TRUE);
return parent::__doRequest($objWSSE->saveXML(), $location, $saction, $version);
}
}
$wsdl = 'https://devauth.utcc.utoronto.ca/wsbuild/services/1_0_0/PersonService?wsdl';
$sClient = new mySoap
($wsdl, array('trace'=>1)); $wrapper->credentials->personId = new SoapVar("9300002", XSD_STRING);
try {
$result = $sClient->getEmail($wrapper);
} catch (SoapFault $fault) {
print("Fault string: " . $fault->faultstring . "\n");
print("Fault code: " . $fault->detail->WebServiceException->code . "\n");
}
echo $sClient->__getLastRequest() .
"\n" .
$sClient->__getLastResponse();
?>
para utilizar estas clases necesitarias tener php5 o superior y la extension soap activa.