<div dir="ltr">Hi,<div><br></div><div>try returning array data<br clear="all"><div><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><br>Regards,<br>Lajeesh<br></div><div>Freelance developer / entrepreneur</div><div><br></div></div></div></div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Sep 6, 2019 at 7:02 PM lucia digirolamo <<a href="mailto:l.digirolamo@websonica.net">l.digirolamo@websonica.net</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
  

    
  
  <div bgcolor="#FFFFFF">
    <p>Hi,</p>
    <p>I have an external php script who programmatically check a vtiger
      6.4. In order to do so, I've used the vtwsclib library. Now I need
      to get the records that have been deleted in the crm (records
      which have deleted = 1 in vtiger_crmentity table). Unfortunately,
      the vtwsclib doQuery() function works only with modules and not
      directly with tables. So I tried to use the vtwsclib doInvoke()
      with a custom webservice: <br>
    </p>
    <p>- I added my webservice in the operation table: <br>
    </p>
    <pre class="gmail-m_93806393348413387lang-php gmail-m_93806393348413387prettyprint gmail-m_93806393348413387prettyprinted"><code><span class="gmail-m_93806393348413387pln">INSERT INTO </span><span class="gmail-m_93806393348413387str">`vtiger_ws_operation`</span><span class="gmail-m_93806393348413387pln"> </span><span class="gmail-m_93806393348413387pun">(</span><span class="gmail-m_93806393348413387pln"> </span><span class="gmail-m_93806393348413387str">`name`</span><span class="gmail-m_93806393348413387pun">,</span><span class="gmail-m_93806393348413387pln"> </span><span class="gmail-m_93806393348413387str">`handler_path`</span><span class="gmail-m_93806393348413387pun">,</span><span class="gmail-m_93806393348413387pln"> </span><span class="gmail-m_93806393348413387str">`handler_method`</span><span class="gmail-m_93806393348413387pun">,</span><span class="gmail-m_93806393348413387pln"> </span><span class="gmail-m_93806393348413387str">`type`</span><span class="gmail-m_93806393348413387pun">,</span><span class="gmail-m_93806393348413387pln"> </span><span class="gmail-m_93806393348413387str">`prelogin`</span><span class="gmail-m_93806393348413387pun">)</span><span class="gmail-m_93806393348413387pln"> VALUES </span><span class="gmail-m_93806393348413387pun">(</span><span class="gmail-m_93806393348413387str">'my_webservice_method'</span><span class="gmail-m_93806393348413387pun">,</span><span class="gmail-m_93806393348413387pln"> </span><span class="gmail-m_93806393348413387str">'include/Webservices/WbsWebserviceMethod.php'</span><span class="gmail-m_93806393348413387pun">,</span><span class="gmail-m_93806393348413387pln"> </span><span class="gmail-m_93806393348413387str">'vtws_my_webservice_method’, '</span><span class="gmail-m_93806393348413387pln">GET</span><span class="gmail-m_93806393348413387str">', 0);</span></code></pre>
    <p>- I added the only parameter I need in the parameters table: <br>
    </p>
    <pre class="gmail-m_93806393348413387lang-php gmail-m_93806393348413387prettyprint gmail-m_93806393348413387prettyprinted"><code><span class="gmail-m_93806393348413387pln">INSERT INTO </span><span class="gmail-m_93806393348413387str">`vtiger_ws_operation_parameters`</span><span class="gmail-m_93806393348413387pln"> </span><span class="gmail-m_93806393348413387pun">(</span><span class="gmail-m_93806393348413387str">`operationid`</span><span class="gmail-m_93806393348413387pun">,</span><span class="gmail-m_93806393348413387pln"> </span><span class="gmail-m_93806393348413387str">`name`</span><span class="gmail-m_93806393348413387pun">,</span><span class="gmail-m_93806393348413387pln"> </span><span class="gmail-m_93806393348413387str">`type`</span><span class="gmail-m_93806393348413387pun">,</span><span class="gmail-m_93806393348413387pln"> </span><span class="gmail-m_93806393348413387str">`sequence`</span><span class="gmail-m_93806393348413387pun">)</span><span class="gmail-m_93806393348413387pln"> VALUES </span><span class="gmail-m_93806393348413387pun">(</span><span class="gmail-m_93806393348413387lit">35</span><span class="gmail-m_93806393348413387pun">,</span><span class="gmail-m_93806393348413387pln"> </span><span class="gmail-m_93806393348413387str">'key'</span><span class="gmail-m_93806393348413387pun">,</span><span class="gmail-m_93806393348413387pln"> </span><span class="gmail-m_93806393348413387str">'String'</span><span class="gmail-m_93806393348413387pun">,</span><span class="gmail-m_93806393348413387pln"> </span><span class="gmail-m_93806393348413387lit">1</span><span class="gmail-m_93806393348413387pun">);</span></code></pre>
    <p>- I created the 'include/Webservices/WbsWebserviceMethod.php':</p>
    <pre class="gmail-m_93806393348413387lang-php gmail-m_93806393348413387prettyprint gmail-m_93806393348413387prettyprinted"><code><span class="gmail-m_93806393348413387pun"><?</span><span class="gmail-m_93806393348413387pln">php
</span><span class="gmail-m_93806393348413387kwd">function</span><span class="gmail-m_93806393348413387pln"> vtws_my_webservice_method</span><span class="gmail-m_93806393348413387pun">(</span><span class="gmail-m_93806393348413387pln">$key</span><span class="gmail-m_93806393348413387pun">)</span><span class="gmail-m_93806393348413387pln"> </span><span class="gmail-m_93806393348413387pun">{</span><span class="gmail-m_93806393348413387pln"></span><span class="gmail-m_93806393348413387pln">
    </span><span class="gmail-m_93806393348413387kwd">return</span><span class="gmail-m_93806393348413387pln"> </span><span class="gmail-m_93806393348413387str">true</span><span class="gmail-m_93806393348413387pun">;</span><span class="gmail-m_93806393348413387pln">
</span><span class="gmail-m_93806393348413387pun">}</span><span class="gmail-m_93806393348413387pln">
</span><span class="gmail-m_93806393348413387pun">?></span></code></pre>
    <p>- I call the custom webservice from my external php: <br>
    </p>
    <pre class="gmail-m_93806393348413387lang-php gmail-m_93806393348413387prettyprint gmail-m_93806393348413387prettyprinted"><code><span class="gmail-m_93806393348413387pun"><?</span><span class="gmail-m_93806393348413387pln">php
</span><span class="gmail-m_93806393348413387kwd">function</span><span class="gmail-m_93806393348413387pln"> vtws_my_webservice_method</span><span class="gmail-m_93806393348413387pun">(</span><span class="gmail-m_93806393348413387pln">$key</span><span class="gmail-m_93806393348413387pun">)</span><span class="gmail-m_93806393348413387pln"> </span><span class="gmail-m_93806393348413387pun">{
  // some other code and login. Login is successful.
</span><span class="gmail-m_93806393348413387pln">  $results = $client->doInvoke('</span></code><code><span class="gmail-m_93806393348413387pln"><code><span class="gmail-m_93806393348413387str">vtws_my_webservice_method</span></code>', ['key' => $key], 'GET');
  var_dump($results);</span><span class="gmail-m_93806393348413387pun"></span><span class="gmail-m_93806393348413387pln">
</span><span class="gmail-m_93806393348413387pun">}</span><span class="gmail-m_93806393348413387pln">
</span><span class="gmail-m_93806393348413387pun">?></span></code></pre>
    <p>but it doesn't work, the doInvoke() returns false. Did I miss
      something?</p>
    <p>Thanks</p>
    <p><br>
    </p>
    <p><code></code><br>
    </p>
  </div>

_______________________________________________<br>
<a href="http://www.vtiger.com/" rel="noreferrer" target="_blank">http://www.vtiger.com/</a></blockquote></div>