zimbra-api / soap-api

Zimbra SOAP client in PHP language
BSD 3-Clause "New" or "Revised" License
62 stars 48 forks source link

Auth request shouldn't send old authToken #45

Open Furgas opened 4 years ago

Furgas commented 4 years ago

When sending Auth request, the header with authToken is added (if set). With long running process it sometimes triggers "auth credentials have expired" error. My quick&dirty patch for this:

--- src/Zimbra/Soap/Client/Http.php.org
+++ src/Zimbra/Soap/Client/Http.php
@@ -237,7 +237,7 @@
     public function doRequest(SoapRequest $request)
     {
         $this->soapMessage = new SoapMessage;
-        if(!empty($this->_authToken))
+        if(!empty($this->_authToken) && !($request instanceof \Zimbra\Admin\Request\Auth))
         {
             $this->soapMessage->addHeader('authToken', $this->_authToken);
         }