Advertisement
BrunoDeOliveira

SOAP Query SSL SOLVED

Jan 31st, 2018
303
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 3.30 KB | None | 0 0
  1. <?php
  2. defined('BASEPATH') OR exit('No direct script access allowed');
  3. class Apicfm {
  4.     function get($uf,$code,$key){
  5.         try {
  6.             $opts = array(
  7.                 'http' => array(
  8.                     'user_agent' => 'PHPSoapClient'
  9.                 ),
  10.                 'ssl' => [
  11.                     'verify_peer' => false,
  12.                     'verify_peer_name' => false,
  13.                     'allow_self_signed' => true
  14.                 ]
  15.             );
  16.             $context = stream_context_create($opts);
  17.             $wsdlUrl = 'https://ws.cfm.org.br:8080/WebServiceConsultaMedicos/ServicoConsultaMedicos?wsdl';
  18.             $soapClientOptions = array(
  19.                 'stream_context' => $context,
  20.                 'cache_wsdl' => WSDL_CACHE_NONE
  21.             );
  22.  
  23.             $parametros = array(
  24.                 'uf' => $uf,
  25.                 'crm' => $code,
  26.                 'chave' => $key
  27.             );
  28.             $client = new SoapClient($wsdlUrl, $soapClientOptions);
  29.             var_dump($client);
  30.             $result = $client->Consultar($parametros);
  31.             if($result->dadosMedico->codigoErro){
  32.                 return ['stat'=>'error','message'=>'Licencia invalida :: '.$result->dadosMedico->codigoErro];
  33.             }
  34.  
  35.             if(@$result->dadosMedico){
  36.                 //return ['stat'=>'ok','medico'=>$result->dadosMedico];
  37.                 switch ($result->dadosMedico->situacao) {
  38.                     case 'A':
  39.                     return ['stat'=>'ok','medico'=>$result->dadosMedico];
  40.                     break;
  41.                     case 'T':
  42.                     return ['stat'=>'error','message'=>'Licencia transferida'];
  43.                     break;
  44.                     case 'C':
  45.                     return ['stat'=>'error','message'=>'Licencia cassada'];
  46.                     break;
  47.                     case 'S':
  48.                     return ['stat'=>'error','message'=>'Licencia suspensa'];
  49.                     break;
  50.                     case 'P':
  51.                     return ['stat'=>'error','message'=>'Licencia aposentada'];
  52.                     break;
  53.                     case 'F':
  54.                     return ['stat'=>'error','message'=>'Licencia falecido'];
  55.                     break;
  56.                     case 'L':
  57.                     return ['stat'=>'error','message'=>'Licencia cancelado'];
  58.                     break;
  59.                     case 'D':
  60.                     return ['stat'=>'error','message'=>'Licencia com dívida ativa'];
  61.                     break;
  62.                     case 'O':
  63.                     return ['stat'=>'error','message'=>'Licencia suspenso judicialmente'];
  64.                     break;
  65.                     case 'X':
  66.                     return ['stat'=>'error','message'=>'Licencia afastado'];
  67.                     break;
  68.                     case 'I':
  69.                     return ['stat'=>'error','message'=>'Licencia interditado cautelarmente'];
  70.                     break;
  71.                     case 'N':
  72.                     return ['stat'=>'error','message'=>'Licencia interditado parcialmente'];
  73.                     break;
  74.                 }
  75.             }else{
  76.                 return ['stat'=>'error','message'=>'Licencia invalida'];
  77.             }
  78.         }
  79.         catch(Exception $e) {
  80.             return ['stat'=>'error'];
  81.         }
  82.     }
  83. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement