Я нуждаюсь в том, чтобы присоединиться в Веб 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);
?>
Выполнив в браузере он не показывает меня и не дает мне ошибку не, потому что меня не производит никакой ответ
Пожалуйста, если кто-то знает, что я врежу, я помог себя
Большое спасибо!