Código
'soap_version' => SOAP_1_2, 'cache_wsdl' => WSDL_CACHE_NONE, //'exceptions' => 0 )); 'rut' => 10000000, 'dv' => '3', 'cup' => '', 'ipserver' => '', 'ipcliente' => '' ));
Esto me daba cuando le ponía SOAP_1_1:
Citar
Fatal error: Uncaught SoapFault exception: [HTTP] Cannot process the message because the content type 'text/xml; charset=utf-8' was not the expected type 'application/soap+xml; charset=utf-8'. in /home/test.php:1 Stack trace: #0 [internal function]: SoapClient->__doRequest('<?xml version="...', 'http://www...', 'http://www...', 1, 0) #1 /home/test.php(1): SoapClient->__call('test', Array) #2 /home/test.php(1): SoapClient->ValidaRut(Array) #3 /home/test.php on line 67
Pero al cambiar a la 1_2 me sale igual un error:
Citar
Fatal error: Uncaught SoapFault exception: [HTTP] Error Fetching http headers in ...
Cambié las rutas pero el código es ese. Que podrá ser? Instalé SOAP con easyapache desde WHM, luego recompilé php con --soap-enabled y la clase me funciona pero hay algo que al parecer no anda.
Por lo que averigué el primer errror era causado porque el rotocolo 1.1 enviaba el contenido via text/xml pero desde la 2.2 es application/soap+xml, pero bueno, cambié la version del protocolo a 1.2 pero ahora me sale un error en el header :-/ que podré hacer?
Gracias
PD: Acá les dejo un DUMP para mayor info:
Código:
print_r($client->__getFunctions());
Array
(
[1] => ValidaRutResponse ValidaRut(ValidaRut $parameters)
)
print_r($client->__getTypes());
[0] => struct ValidaRut {
double rut;
string dv;
string cup;
string ipserver;
string ipcliente;
}
[1] => struct ValidaRutResponse {
boolean ValidaRutResult;
}
[4] => int char
[5] => duration duration
[6] => string guid
)