davyb Posted April 30, 2011 Share Posted April 30, 2011 Hi there, I am working with a webservice which allows me to send it a username and password and it will return an an object which includes two strings. One is just an "Ok" and the other is a cookie (like 1%2C%2C%2C2087364217%2C2087310473%....... etc) I can login ok and set extract the cookie... I then use the soapclient __setCookie to set the cookie for all further calls to the Webservice. However when I make the next call I am getting an error saying that the call is unauthorised as if I have not logged in or the cookie has not been passed.... Please help!! Im at a loose end and I dont know what else I can do... Here is the code <?php // Caching ini_set("soap.wsdl_cache_enabled", "0"); // WSDL locatie $url = "some.wsdl"; // Nieuwe SoapClient klasse $soap = new SoapClient($url, array('trace' => true)); // Try loggin into the webservice and retrieving a token - this part works fine!! for($i = 0; $i < 3; $i++){ try{ $result = $soap->opLogin(array('name' => 'Usename', 'cleartext' => 'password')); // token is in the result $token = $result->info; // Trim the result to get only the cookie $token = trim(str_replace("PubAuth1=", "", $token)); // Print token echo "token - cookie:"; print($token); echo "<br>"; // Set cookie $soap->__setCookie('PubAuth1', $token); // Now make a call to the webservice to set a new user.... THIS PART DOES NOT WORK!!! for($i = 0; $i < 3; $i++){ try{ $result2 = $soap->__soapCall("opSetUser", array('email' => '[email protected]', 'p' =>'password123')); //$result2 = $soap->opSetUser(array('email' => '[email protected]', 'p' => 'lalala')); // Print result echo "opSetUser result: "; var_dump($result2); exit; } catch(Exception $ex){ echo "opSetUser error: " . $ex->getMessage() . "<br>"; } } } catch(Exception $ex) { echo "opLogin error: " . $ex->getMessage() . "<br>"; } } ?> Link to comment https://forums.phpfreaks.com/topic/235182-help-passing-cookie-back-to-webservice-soap/ Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.