2011-05-18 20 views
18

Usando file_get_contents como parte de la implementación de SOAP personalizada para aplicar llamadas SOAP (TODAS las bibliotecas que probamos no realizarían SSL + autenticación basada en certificados con SOAP 1.2 correctamente). Sin embargo, la API difícil y apenas documentada a menudo devuelve 500. Hay detalles de error en el cuerpo de respuesta, pero file_get_contents no parece permitir el acceso a ella. fopen parece tener el mismo problema.Necesita cuerpo de respuesta de HTTP 500 con file_get_contents (PHP)

¿Qué hacer?

Prefiero no ir a cURL debido al uso intensivo de contextos de flujo para que funcione la autenticación.

+0

'file_get_contents' debería darle el cuerpo de respuesta. ¿Puedes mostrar un código? –

+0

echo file_get_contents ($ url, false, $ context); generará una advertencia de PHP informando el 500 pero no devuelve nada. – frEEk

Respuesta

42

Usted podría considerar nusoap.

Sin embargo, para su pregunta, funciona si usa ignore_errors.

$context = stream_context_create(array(
    'http' => array(
     'ignore_errors' => true 
    ) 
)); 

$contents = file_get_contents($url, false, $context); 
+0

['ignore_errors'] (http://www.php.net/manual/en/context.http.php#context.http.ignore-errors) es la solución aquí. – lonesomeday

+1

hombre ustedes son geniales. – frEEk

+0

a su pregunta de nusoap ... sí, ese fue el primer intento. No hace 1.2 por desgracia. Literalmente escribió este guión 5 veces antes de obtener algo que funcionó. Incluso probé WSF/PHP de WSO2 que parecía ser la lib más completa. Solo lib publicitó para admitir todo lo que necesitábamos, pero no se entregó por completo. – frEEk

Cuestiones relacionadas