Hola,
Os explico con detalle lo que me ocurre:
Mediante el formulario que adjunto, se entra identificador y password y recibo correctamente una respuesta XML con el Id de sesión.
La URL del formulario es
htp://nombre_del_server.net:8090/xxxxx/yyyyyyyy.asmx
Código HTML:
<form target="_blank" action='htp://nombre_del_server.net:8090/xxxxx/yyyyyyyy.asmx/identificacion' method="POST">
<table >
<tr>
<td>Parametro</td>
<td>Valor</td>
</tr>
<tr>
<td>id:</td>
<td><input class="frmInput" type="text" size="50" name="identificador"></td>
</tr>
<tr>
<td>password:</td>
<td><input type="text" size="50" name="password"></td>
</tr>
<tr>
<td></td>
<td> <input type="submit" value="Invocar" class="button"></td>
</tr>
</table>
</form>
Se puede realizar lo mismo mediante php, pero no me funciona y el servidor siempre me devuelve:
Código HTML:
TTP/1.1 400 Bad Request
Content-Type: text/html
Date: Mon, 26 Mar 2007 14:12:45 GMT
Connection: close
Content-Length: 42
Bad Request (Invalid Header Name)
el script en php es este, pero no acabo de ver que hago mal:
Código PHP:
$param = urlencode("identificador=2222222222&password=3333333333");
//$param = "identificador=2222222222&password=3333333333";
$fp = pfsockopen( "nombre_del_server", 8090);
if( $fp ) {
fputs( $fp, "POST /xxxxx/yyyyyyyy.asmx/identificacion HTTP/1.1\r\n" );
fputs( $fp, "Content-Type: application/x-www-form-urlencoded\r\n");
fputs( $fp, "Content-length: " . strlen($param) . "\r\n");
fputs( $fp, "Accept: */*\r\n" );
fputs( $fp, $param . "\r\n");
$output = "";
while( !feof( $fp ) ) {
$output .= fgets( $fp, 1024) . "<br>";
}
fclose( $fp );
echo $output;
}
Las pocas especificaciones que tengo para realizar el POST es:
Código HTML:
POST /xxxxx/yyyyyyyy.asmx/identificacion HTTP/1.1
Host: nombre_del_server.net
Content-Type: application/x-www-form-urlencoded
Content-Length: length
identificador=string&password=string
Agradeceré ayuda porque no puedo seguir...
Gracias anticipadas.