Apologies,
this is my code (few typos in the last one...)
<?php
function createSession() {
global $soap;
$responseHeader = $soap->__getLastResponseHeaders();
var_dump($responseHeader);
$sessionPos=strpos($responseHeader, "PubAuth1=");
if ($sessionPos === false) {
echo "No session id was found. Exiting.\n";
exit();
}
//cookie will always be 32 bytes
$cookie = substr($responseHeader,$sessionPos + 11,32);
#
# Set the Cookie name for the next request
$soap->__setCookie("PubAuth1", $cookie);
}
ini_set("soap.wsdl_cache_enabled", "0");
$url = "some.wsdl";
$soap = new SoapClient($url, array('trace' => true));
for($i = 0; $i < 3; $i++){
try{
$result = $soap->opLogin(array('name' => 'Username', 'cleartext' => 'password'));
$token = $result->info;
$token = trim(str_replace("PubAuth1=", "", $token));
// Set cookie
createSession();
// Retry loopje
for($i = 0; $i < 3; $i++){
try{
$result2 = $soap->__soapCall("opSetUser", array("email" => "me@me.com", 'p' =>'password123'));
}
catch(Exception $ex){
echo "opSetUser error: " . $ex->getMessage() . "<br>";
}
}
}
catch(Exception $ex) {
echo "opLogin error: " . $ex->getMessage() . "<br>";
}
}
?>