Как присоединяться в webservices PHP?

Я нуждаюсь в том, чтобы присоединиться в Веб services использую PHP, чтобы входить в систему. Я оставляю детали xml так request как ответа

Восток - request

    <soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:head="http://prueba.com/GLOBAL/EMP/HeaderRequest" xmlns:con="http://prueba.com/ARQ/EMP/ConsultarEstadoMigracionUsuario">
   <soap:Header>
      <head:HeaderRequest>
         <head:Username></head:Username>
         <head:Company></head:Company>
         <head:AppName></head:AppName>
         <head:IdClient></head:IdClient>
         <head:ReqDate>2018-08-21T17:59:19.998-03:00</head:ReqDate>
      </head:HeaderRequest>
   </soap:Header>
   <soap:Body>
      <con:ConsultarEstadoMigracionUsuarioRequest>
         <con:rutCliente>123456789-K</con:rutCliente>
      </con:ConsultarEstadoMigracionUsuarioRequest>
   </soap:Body>
</soap:Envelope>

Восток - ответ xml:

<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope">
   <soap:Header xmlns:con="http://prueba.com/ARQ/EMP/ConsultarEstadoMigracionUsuario" xmlns:head="http://prueba.com/GLOBAL/EMP/HeaderRequest">
      <ns1:HeaderResponse xmlns:ns1="http://prueba.com/GLOBAL/EMP/HeaderResponse">
         <ns1:IdServer>prueba.com:8000</ns1:IdServer>
         <ns1:ReqSrvDate>2018-08-21T17:59:19.998-03:00</ns1:ReqSrvDate>
         <ns1:RespSrvDate>2019-05-02T11:05:24.635-04:00</ns1:RespSrvDate>
      </ns1:HeaderResponse>
   </soap:Header>
   <soap:Body xmlns:con="http://prueba.com/ARQ/EMP/ConsultarEstadoMigracionUsuario" xmlns:head="http://prueba.com/GLOBAL/EMP/HeaderRequest">
      <con:ConsultarEstadoMigracionUsuarioResponse>
         <con:ResultadoServicio>
            <con:esClienteServicioMigrado>false</con:esClienteServicioMigrado>
            <con:sistemaOrigen>A</con:sistemaOrigen>
         </con:ResultadoServicio>
         <con:ResultadoEjecucion>
            <res:ejecucionExitosa xmlns:res="http://prueba.com/GLOBAL/EMP/ResultadoEjecucion">true</res:ejecucionExitosa>
            <res:codigoError xmlns:res="http://prueba.com/GLOBAL/EMP/ResultadoEjecucion">0</res:codigoError>
            <res:mensaje xmlns:res="http://prueba.com/GLOBAL/EMP/ResultadoEjecucion">Ejecución Exitosa</res:mensaje>
         </con:ResultadoEjecucion>
      </con:ConsultarEstadoMigracionUsuarioResponse>
   </soap:Body>
</soap:Envelope>

То, что он делает этим xml, состоит в том, чтобы показывать, мигрировался ли или нет клиент, которым ему послан RUT, который нужно консультировать.

То, что я попробовал сделать, так это следующее:

<?php
    ini_set("xdebug.var_display_max_children", -1);
    ini_set("xdebug.var_display_max_data", -1);
    ini_set("xdebug.var_display_max_depth", -1);  
    error_reporting('E_ALL');



    $fields="";
    $fields .= '<soap:Envelope 
    xmlns:soap="http://www.w3.org/2003/05/soap-envelope" 
    xmlns:head="http://prueba.com/GLOBAL/EMP/HeaderRequest" 
    xmlns:con="http://prueba.com/ARQ/EMP/ConsultarEstadoMigracionUsuario">';
    $fields .= '<soap:Header>';
    $fields .= '    <head:HeaderRequest>';
    $fields .= '        <head:Username></head:Username>';
    $fields .= '        <head:Company></head:Company>';
    $fields .= '        <head:AppName></head:AppName>';
    $fields .= '        <head:IdClient></head:IdClient>';
    $fields .= '        <head:ReqDate>'.date('Y-m-d\TH:i:s\Z').'</head:ReqDate>';
    $fields .= '    </head:HeaderRequest>';
    $fields .= '</soap:Header>';
    $fields .= '<soap:Body>';
    $fields .= '    <con:ConsultarEstadoMigracionUsuarioRequest>';
    $fields .= '        <con:rutCliente>123456789-K</con:rutCliente>';
    $fields .= '    </con:ConsultarEstadoMigracionUsuarioRequest>';
    $fields .= '</soap:Body>';
    $fields .= '</soap:Envelope>';

    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, 'prueba.com:8000/consultarEstadoMigracionUsuario?wsdl'); 
    curl_setopt($ch, CURLOPT_POST, 1); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: text/xml'));
    curl_setopt($ch, CURLOPT_POSTFIELDS, "$fields");
    $r = curl_exec($ch); 
    curl_close ($ch);

    $xml = simplexml_load_string($r,null, 0, 'soap', true);
    $xml->registerXPATHNamespace('head', 'http://prueba.com/GLOBAL/EMP/HeaderResponse');
    $xml->registerXPATHNamespace('con', 'http://prueba.com/GLOBAL/EMP/ConsultarEstadoMigracionUsuarioResponse');
    $certificado=json_encode($xml->children('soap',true)->ResultadoEjecucion->children('con',true));

    //return $fields;
    $respuesta['request'] = $fields;
    $respuesta['response'] = json_decode($certificado,TRUE);

?>

Выполнив в браузере он не показывает меня и не дает мне ошибку не, потому что меня не производит никакой ответ

Пожалуйста, если кто-то знает, что я врежу, я помог себя

Большое спасибо!

5
задан 03.05.2019, 19:25
0 ответов