Ver Mensaje Individual
  #1 (permalink)  
Antiguo 27/04/2016, 09:40
mlunamario
 
Fecha de Ingreso: abril-2016
Mensajes: 1
Antigüedad: 8 años
Puntos: 0
Pregunta PHP + Soap + WebService

Hola, como va?

Estoy empezando con un proyecto para conectar PHP a un WebService propio.

Ya logre conectarme, pero lo que no se como hacer es trabajar con el resultado.
Necesito parsear la información que obtengo desde el WebService.

Esta es la respuesta en XML del WebService:

<DataSet xmlns="http://webservice/">
<xs:schema xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" id="NewDataSet">
<xs:element name="NewDataSet" msdata:IsDataSet="true" msdata:UseCurrentLocale="true">
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element name="Consulta_attribute">
<xs:complexType>
<xs:sequence>
<xs:element name="id_TTR_obs" type="xs:int" minOccurs="0"/>
<xs:element name="id_caso" type="xs:string" minOccurs="0"/>
<xs:element name="obs" type="xs:string" minOccurs="0"/>
<xs:element name="date" type="xs:dateTime" minOccurs="0"/>
<xs:element name="TT_agent" type="xs:string" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:choice>
</xs:complexType>
</xs:element>
</xs:schema>
<diffgr:diffgram xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" xmlns:diffgr="urn:schemas-microsoft-com:xml-diffgram-v1">
<NewDataSet xmlns="">
<Consulta_attribute diffgr:id="Consulta_attribute1" msdata:rowOrder="0">
<id_TTR_obs>1</id_TTR_obs>
<id_caso>1</id_caso>
<obs>test1</obs>
</Consulta_attribute>
<Consulta_attribute diffgr:id="Consulta_attribute2" msdata:rowOrder="1">
<id_TTR_obs>2</id_TTR_obs>
<id_caso>1</id_caso>
<obs>test2</obs>
</Consulta_attribute>
</NewDataSet>
</diffgr:diffgram>
</DataSet>


Mi consulta es, como puedo parsear estos datos del XML?
<Consulta_attribute diffgr:id="Consulta_attribute1" msdata:rowOrder="0">
<id_TTR_obs>1</id_TTR_obs>
<id_caso>1</id_caso>
<obs>test1</obs>
</Consulta_attribute>
<Consulta_attribute diffgr:id="Consulta_attribute2" msdata:rowOrder="1">
<id_TTR_obs>2</id_TTR_obs>
<id_caso>1</id_caso>
<obs>test2</obs>
</Consulta_attribute>


Este es el script (no puse la URL, usuario y pass del WS):

require_once("lib/nusoap.php");


$servicio="http://direccionwebservice";

if ($_REQUEST["search"] == "caso"){
$parametros=array(
"Var1"=>"SELECT * FROM TTR_obs WHERE TTR_obs.id_caso = '".$_REQUEST["id_caso"]."'",
"Var2"=>"usuario",
"Var3"=>"contrasena"
);
};

$client = new soapclient($servicio, true);

$result = $client->call("Query_policy_bcd", $parametros);



con esto conecto al WS.. ahora como puedo parsear los datos?

Desde ya, mil gracias!!

Última edición por mlunamario; 27/04/2016 a las 12:51