Estoy teniendo un problema al implementar un webservices y no he podido dar con el chiste:
Primero que todo muestro mi código cliente y servidor:
cliente:
Código PHP:
<?php
class indexController extends Controller
{
public function __construct() {
parent::__construct();
}
public function index()
{
ini_set("soap.wsdl_cache_enabled", "0");
$client=new SoapClient("http://stefanini.localhost/controllers/service.wsdl");
$this->_view->resultado=$client->tablaAdmitidos();
$this->_view->titulo = 'Portada Local';
$this->_view->renderizar('index', 'inicio');
}
}
?>
servidor:
Código PHP:
<?php
class indexController extends Controller
{
public function __construct() {
parent::__construct();
}
public function index()
{
$this->loadModel('aspirantes');
$server=new SoapServer("service.wsdl");
$server->setClass("aspirantesModel");
$server->handle();
$this->_view->titulo = 'Portada';
$this->_view->renderizar('index', 'inicio');
}
}
?>
El cliente lo estoy probando en un servidor local llamado stefanini_local.localhost y el servidor en un servidor local llamado stefanini.localhost
Si invoco así el script me genera una salida en el cliente asi:
Cita:
Si en el servidor al ejecutar el codigo me sale una salida xml asi:looks like we got no XML document
Código XML:
Ver original
<SOAP-ENV:Envelope><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>WSDL</faultcode><faultstring>SOAP-ERROR: Parsing WSDL: Couldn't load from 'service.wsdl' : failed to load external entity "service.wsdl" </faultstring></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
Por ultimo muestro como esta diseñado mi wsdl.
Código XML:
Ver original
<?xml version='1.0' encoding='UTF-8'?> <definitions name="Service" targetNamespace="urn:Service" xmlns:typens="urn:Service" 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/"> <message name='tablaAdmitidos' /> <message name="tablaAdmitidosResponse"> <part name="tablaAdmitidosReturn" type="xsd:Array"/> </message> <!-- realiza el formateo --> <portType name="UserFacadePortType"> <operation name="tablaAdmitidos"> <input message="typens:tablaAdmitidos"/> <output message="typens:tablaAdmitidosResponse"/> </operation> </portType> <binding name="UserFacadeBinding" type="typens:UserFacadePortType"> <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/> <operation name="tablaAdmitidos"> <soap:operation soapAction="urn:UserFacadeAction"/> <input> <soap:body namespace="urn:Service" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> </input> <output> <soap:body namespace="urn:Service" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> </output> </operation> </binding> <service name="ServiceService"> <port name="UserFacadePort" binding="typens:UserFacadeBinding"> <soap:address location="http://stefanini.localhost/controllers/indexController.php"/> </port> </service> </definitions>
He buscado por varios lados tratando de entender el error y lo que he encontrado es que es posible que php me este generando lineas y espacios que dañen la salida xml pero no utilizo ningun tipo de echo en la función que llamo entonces no se si por ahi puede ser el error o que podria estar ocurriendo.
Gracias de antemano por su colaboración para ayudarme a detectar el problema.