FAQ
Buenos días a todos

Veamos. A grandes rasgos y sin poder entrar en mucho detalle estoy
atascado :)

Para poder entender la situación la premisa es:

* Intercambio de XML en una sola conexión tcp cifrada
* No tengo acceso al servidor ni a sus logs de ninguna forma


Así pues: conecto al servidor, me responde el XML de bienvenida y a
partir de ahí mantiene la conexión pero no responde a nada.

Si le envío un XM L, al leer la respuesta no responde nada y acaba dando
Internal server Error.

$context = stream_context_create(array('ssl'=>array('local_cert'=>$cert)));

$fp = stream_socket_client("ssl://$ip:$port", $errno, $errstr, 30, STREAM_CLIENT_CONNECT, $context);

if (!$fp) {

echo "ERROR: $errno - $errstr<br />\n";

} else {

echo htmlentities(fread($fp, 1024));

/*
Cualquier intento de envio de XMl no obtiene respuesta
por lo que al volver a leer el socket nunca acabará
*/

}

fclose($fp);

Se me ocurre dado este caso 3 causas:

1. Es necesario enviar algún chart que el servidor identifique como
fin de datos para que interprete lo enviado.
2. Quizás se esta creando una ID de Session a la cual no se llegar, y
deba cerrar la conexión y volver a abrirla enviando esta ID de
Session junto al xml.
3. Me tiro a la yugular de los sysadmin


*¿Alguien ha trabajado alguna vez con sockets ssl para enviar y recibir
XML bajo una sola conexión?

*Un Saludo
Muchas Gracias.

--
GPG Public Key: http://sync.es/seguridad/Jesus_Sync.asc
Key fingerprint = 8FFC 19B4 5F81 FC66 965C ACCA 01F6 2DA0 8BBA 51EC
--

Search Discussions

  • Mauricio Rodriguez at Jun 26, 2009 at 7:05 pm
    Hola Jesús, por que no usas la extension SOAP, claro!... si es que ya la
    tiene
    el servidor web. esta usa xml como lenguaje de transporte pero
    PHP la traduce automáticamente para que los veas como arrays
    y es transparente para ti, solo haces las llamadas. También soporta
    SSL si es que esta compilado el servidor web con openssl. basta
    con hacer un phpinfo(); para que sepas si cuentas con ellos.

    Saludos.

    El 26 de junio de 2009 06:51, Jesús Gallardo <jgallardo@sync.es> escribió:
    Buenos días a todos

    Veamos. A grandes rasgos y sin poder entrar en mucho detalle estoy
    atascado :)

    Para poder entender la situación la premisa es:

    * Intercambio de XML en una sola conexión tcp cifrada
    * No tengo acceso al servidor ni a sus logs de ninguna forma


    Así pues: conecto al servidor, me responde el XML de bienvenida y a
    partir de ahí mantiene la conexión pero no responde a nada.

    Si le envío un XM L, al leer la respuesta no responde nada y acaba dando
    Internal server Error.

    $context =
    stream_context_create(array('ssl'=>array('local_cert'=>$cert)));

    $fp = stream_socket_client("ssl://$ip:$port", $errno, $errstr, 30,
    STREAM_CLIENT_CONNECT, $context);

    if (!$fp) {

    echo "ERROR: $errno - $errstr<br />\n";

    } else {

    echo htmlentities(fread($fp, 1024));

    /*
    Cualquier intento de envio de XMl no obtiene respuesta
    por lo que al volver a leer el socket nunca acabará
    */

    }

    fclose($fp);

    Se me ocurre dado este caso 3 causas:

    1. Es necesario enviar algún chart que el servidor identifique como
    fin de datos para que interprete lo enviado.
    2. Quizás se esta creando una ID de Session a la cual no se llegar, y
    deba cerrar la conexión y volver a abrirla enviando esta ID de
    Session junto al xml.
    3. Me tiro a la yugular de los sysadmin


    *¿Alguien ha trabajado alguna vez con sockets ssl para enviar y recibir
    XML bajo una sola conexión?

    *Un Saludo
    Muchas Gracias.

    --
    GPG Public Key: http://sync.es/seguridad/Jesus_Sync.asc
    Key fingerprint = 8FFC 19B4 5F81 FC66 965C ACCA 01F6 2DA0 8BBA 51EC
    --

Related Discussions

Discussion Navigation
viewthread | post
Discussion Overview
groupphp-general-es @
categoriesphp
postedJun 26, '09 at 11:51a
activeJun 26, '09 at 7:05p
posts2
users2
websitephp.net

People

Translate

site design / logo © 2022 Grokbase