MySoapClient.php 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. <?php
  2. namespace ModulesGarden\Servers\ZimbraEmail\App\Libs\Zimbra\Components\Api\Soap;
  3. use SoapClient;
  4. /**
  5. *
  6. * Created by PhpStorm.
  7. * User: Tomasz Bielecki ( tomasz.bi@modulesgarden.com )
  8. * Date: 27.08.19
  9. * Time: 15:47
  10. * Class MySoapClient
  11. */
  12. class MySoapClient extends SoapClient
  13. {
  14. /**
  15. * @param string $request
  16. * @param string $location
  17. * @param string $action
  18. * @param int $version
  19. * @return string
  20. */
  21. public function __doRequest($request, $location, $action, $version)
  22. {
  23. if(stripos($request, 'DistributionListActionRequest') !== false)
  24. {
  25. $request = str_replace(array('ns1:DistributionListActionRequest', 'xmlns:ns2="urn:zimbra"'), array('ns2:DistributionListActionRequest', 'xmlns:ns2="urn:zimbraAccount"'), $request);
  26. }
  27. $response = parent::__doRequest($request, $location, $action, $version);
  28. logModuleCall(
  29. 'zimbraEmail',
  30. __FUNCTION__,
  31. [
  32. $request,
  33. $location,
  34. $action,
  35. $version
  36. ],
  37. "Debug: request, location, action, version",
  38. $response
  39. );
  40. return $response;
  41. }
  42. /**
  43. * @param string $function_name
  44. * @param array $arguments
  45. * @param array|null $options
  46. * @param null $input_headers
  47. * @param array|null $output_headers
  48. * @return mixed|void
  49. */
  50. public function __soapCall($function_name, array $arguments, array $options = null, $input_headers = null, array &$output_headers = null)
  51. {
  52. $response = parent::__soapCall($function_name, $arguments, $options, $input_headers, $output_headers);
  53. logModuleCall(
  54. 'zimbraEmail',
  55. __FUNCTION__,
  56. [
  57. $function_name,
  58. $arguments,
  59. $options,
  60. $input_headers,
  61. $output_headers
  62. ],
  63. "Debug: function_name, arguments, options, input_headers, output_headers",
  64. $response
  65. );
  66. return $response;
  67. }
  68. }