Voy creando un Web Service, el nusoap no me funciona en windows o posteriores a php 5.3, por lo que trabajo con SOAP nativa de php, el caso es que el servicio está creado y me devuelven datos pero lo que necesito es que me devuelva un array de datos para recibirlos en el cliente y guardarlo en otra BD,
Mi servicio Web
Código PHP:
Mi WSDL es como sigue:Ver original
function pagos($fecha){ require_once "include/conexion.php"; $result = sqlsrv_query2(" consulta"); $c=0; while($row = sqlsrv_fetch_array($result)){ for($i = 0; $i<6;$i++){ $datos[$c][$i]=$row[$i]; } $c++; } return $datos; //devuelvo un array multidimensional de 6 columnas } $server->AddFunction("pagos"); $server->handle();
Código XML:
Bajo mi percepcion <AritmeticaRespuesta> deberìa devolver el array que necesito, pero cuando en el lado del cliente lo imprimo Ver original
<?xml version="1.0"?> <definitions name="AritmeticaServicio" targetNamespace="urn:Aritmetica" xmlns:tns="urn:Aritmetica" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns="http://schemas.xmlsoap.org/wsdl/"> <wsdl:types> <xsd:schema targetNamespace="urn:Aritmetica"> <xsd:complexType name="resultArray"> <complexContent> <restriction base="SOAP-ENC:Array"> <attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="xsd:string[][]"/> </restriction> </complexContent> </xsd:complexType> </xsd:schema> </wsdl:types> <message name="AritmeticaPeticion"> <part name="operando1" type="xsd:string" /> </message> <message name="AritmeticaRespuesta"> <part name="respuesta" type="xsd:resultArray" /> </message> <portType name="AritmeticaPort"> <operation name="pagos"> <input message="tns:AritmeticaPeticion" /> <output message="tns:AritmeticaRespuesta" /> </operation> </portType> <binding name="AritmeticaBinding" type="tns:AritmeticaPort"> <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http" /> <operation name="pagos"> <soap:operation soapAction="urn:Aritmetica#pagos" /> <input> <soap:body use="encoded" namespace="urn:Aritmetica" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" /> </input> <output> <soap:body use="encoded" namespace="urn:Aritmetica" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" /> </output> </operation> </binding> <service name="AritmeticaServicio"> <port name="AritmeticaPort" binding="tns:AritmeticaBinding"> <soap:address location="http://localhost:8080/proyecto/server.php" /> </port> </service> </definitions>
Código PHP:
Como ven si ingresa por try{} pero me està devolviendo un objeto sin dato alguno.Ver original
Por favor quisiera por lo menos me den una idea de cual mi problema. Gracias.