src/Services/WebServiceUsuarios.php line 25
<?phpnamespace App\Services;use App\Entity\Divisa;use Doctrine\ORM\EntityManagerInterface;use Symfony\Component\HttpFoundation\RedirectResponse;use Symfony\Component\Routing\RouterInterface;use Psr\Log\LoggerInterface;require_once('NTLMStream.php');ini_set("soap.wsdl_cache_enabled", 0);if(!defined('USERPWD')){// define('USERPWD', 'web:3ur0ch4ng3');define('USERPWD','web:RpvGer43,567W12@@');}class WebServiceUsuarios {private $ClienteSoap;private $em;protected $router;protected $logger;public function __construct(EntityManagerInterface $em,RouterInterface $router, LoggerInterface $webservicesLogger){try{$this->logger=$webservicesLogger;$this->router=$router;$this->em=$em;stream_wrapper_unregister('http');stream_wrapper_register('http', NTLMStream::class)/* or die("Failed to register protocol")*/;//$baseURL = 'http://getems.ddns.net:9047/WEB/WS/Backoffice%20Eurochange/Page/WSListaClientes';$baseURL = 'http://142.132.143.176:9047/WEB/WS/Backoffice%20Eurochange/Page/WSListaClientes';$this->ClienteSoap = new NTLMSoapClient($baseURL,array("trace"=>1));}catch(\Exception $fault){$this->logger->critical('[DINAMIC][EXCEPCION][1/1][CONECTAR WSFUNCIONES] '.$fault->getMessage().' '.$fault->getCode().' '.$fault->getTraceAsString());}}public function findOne($id){$args = array('No' => $id);$clientes=(array) $this->ClienteSoap->Read($args);//print_r($clientes);if(count($clientes)==1){return $clientes['WSListaClientes'];}return false;}/*** @deprecated Importa masivamente usuarios* Usada en el ERP de Pruebas para trastear con usuarios antiguos* @return mixed*/public function getClientes(){$args = array('setSize' => 100,'filter' => array(array("Field"=>'No',"Criteria"=>'*')));$clientes=$this->ClienteSoap->ReadMultiple($args);return $clientes;}/*** Busca un usuario en el ERP dado un campo para filtrar y un valor* @param string $key Campo por el que se filtrará P/E: 'No' para código ERP* @param string $value Valor del campo P/E: C0001/000000001* @return array|bool usuario ERP o false en caso de que falle*/public function findBy($key,$value){$args = array('setSize' => 1,'filter' => array(array("Field"=>$key,"Criteria"=>$value)));try {$clientes = $this->ClienteSoap->ReadMultiple($args);if (count((array)$clientes->ReadMultiple_Result) > 1) {foreach ($clientes->ReadMultiple_Result->WSListaClientes as $cliente) {$salida = $cliente->$key;}return $salida;} else if (count((array)$clientes->ReadMultiple_Result)) {$cliente = (array)$clientes->ReadMultiple_Result->WSListaClientes;if (!isset($cliente['Name'])) $cliente['Name'] = '';if (!isset($cliente['Name_2'])) $cliente['Name2'] = '';if (!isset($cliente['Address']))$cliente['direccion1'] = '';else$cliente['direccion1'] = $cliente['Address'];if (!isset($cliente['Address_2']))$cliente['direccion2'] = '';else$cliente['direccion2'] = $cliente['Address_2'];if (!isset($cliente['City']))$cliente['ciudad'] = '';else$cliente['ciudad'] = $cliente['City'];if (!isset($cliente['Phone_No']))$cliente['tlf'] = '';else$cliente['tlf'] = $cliente['Phone_No'];if (!isset($cliente['Country_Region_Code']))$cliente['pais'] = '';else$cliente['pais'] = $cliente['Country_Region_Code'];if (!isset($cliente['Post_Code']))$cliente['cp'] = '';else$cliente['cp'] = $cliente['Post_Code'];if (!isset($cliente['Tipo_doc_identificación']))$cliente['tipoDoc'] = '';else$cliente['tipoDoc'] = $cliente['Tipo_doc_identificación'];if (!isset($cliente['Fecha_expiración_doc_identif']))$cliente['fechaDoc'] = '';else$cliente['fechaDoc'] = $cliente['Fecha_expiración_doc_identif'];if (!isset($cliente['Fecha_nacimiento']))$cliente['fechaNac'] = '';else$cliente['fechaNac'] = $cliente['Fecha_nacimiento'];if (!isset($cliente['VAT_Registration_No']))$cliente['numDocumento'] = '';else$cliente['numDocumento'] = $cliente['VAT_Registration_No'];if (!isset($cliente['County']))$cliente['county'] = '';else$cliente['county'] = $cliente['County'];if (!isset($cliente['E_Mail']))$cliente['email'] = '';else$cliente['email'] = $cliente['E_Mail'];if (!isset($cliente['N_x00BA__tarjeta_fidelización']))$cliente['fidelizacion'] = '';else$cliente['fidelizacion'] = $cliente['N_x00BA__tarjeta_fidelización'];// var_dump($cliente);// die();$this->logger->info('[DINAMIC][INFO][1/2][USER FIND BY] ' . $this->ClienteSoap->__getLastRequest() . PHP_EOL . "\t con los argumentos: " . json_encode($args));$this->logger->info('[DINAMIC][INFO][2/2][USER FIND BY] Respuesta del servidor: ' . $this->ClienteSoap->__getLastResponse());return $cliente;}$this->logger->error('[DINAMIC][ERROR][1/2][USER FIND BY] '.$this->ClienteSoap->__getLastRequest().PHP_EOL."\t con los argumentos: ".json_encode($args));$this->logger->error('[DINAMIC][ERROR][2/2][USER FIND BY] Respuesta del servidor: '.$this->ClienteSoap->__getLastResponse());return false;}catch (\SoapFault $fault){$this->logger->critical('[DINAMIC][EXCEPTION][1/3][USER FIND BY] '.$this->ClienteSoap->__getLastRequest().PHP_EOL."\t con los argumentos: ".json_encode($args));$this->logger->critical('[DINAMIC][EXCEPTION][2/3][USER FIND BY] Respuesta del servidor: '.$this->ClienteSoap->__getLastResponse());$this->logger->critical('[DINAMIC][EXCEPCION][3/3][USER FIND BY] '.$fault->getMessage().' '.$fault->getCode().' '.$fault->getTraceAsString());}}}