Hola a todos:
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: looks like we got no XML document
Si en el servidor al ejecutar el codigo me sale una salida xml asi:
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.