Ver Mensaje Individual
  #1 (permalink)  
Antiguo 14/11/2010, 08:50
infomaria80
 
Fecha de Ingreso: noviembre-2010
Ubicación: Málaga
Mensajes: 2
Antigüedad: 13 años, 5 meses
Puntos: 0
Pregunta Como consume un cliente PHP un servicio web hecho en .Net - Urgente

Hola,
Estoy implmentando un servicio web, donde el servidor es .net, y el cliente es php, y lo estoy haciendo con nusoap, me conecta perfectamente, y el Hello World funciona bien.
El problema surge cuando llamo a un servicio que devuelve un Dataset, como php no entiende de Dataset, lo convierto a String en el servidor con GetXml(), pero por alguna razón php no reconoce ese Xml, no he parado de buscar pero no doy con la solución :(
Os dejo trozos de códigos del servidor y el cliente:

El lado del servidor:

[WebMethod]
public String Medios()
{
System.Data.SqlClient.SqlConnection sqlConnection1 = new System.Data.SqlClient.SqlConnection();
// Now Pass a Connection String To the Connection
sqlConnection1.ConnectionString = "Server=localhost;Database=gestion;User Id=gestion; Password=gestion";
// Now the Select statement you want to run
string select = "select medio from Medios ";
// Create an Adapter
SqlDataAdapter da = new SqlDataAdapter(select, sqlConnection1);
// Create a New DataSet
DataSet ds = new DataSet();
// Fill The DataSet With the Contents of the Stock Table
da.Fill(ds, "Medios");
return (ds.GetXml());
}

El lado del cliente:

<?php
ini_set('soap.wsdl_cache_enabled', '0');
require_once('lib/nusoap.php');

$client = new nusoap_client('http://ejemplo:81/service.asmx?wsdl');
$respuesta = $client->call("Medios");
print_r($respuesta);

$xml = @simplexml_load_string($respuesta);
if (!is_object($xml))
throw new Exception('Error en la lectura del XML',1001);
else
print_r($xml);

?>

En la respuesta se ven los medios que quiero devolver, pero no es Xml, por lo tanto no los puedo tratar....

Ayudenme por favor, estoy muy perdida :(

Muchas gracias de antemano.
Editar/Borrar Mensaje