Buenas noches, una consulta y espero que me puedan ayudar estoy usando servicios y necesito la deficion de un servicios especifico pero no se como acceder al mismo, tengo la siguiente estructura:
SiteController.php
/**
* @param string uname
* @return string
* @soap
*/
public function getExisteMateria($uname)
{
$evaluacion = Yii::app()->db->createCommand("SELECT nombre_mat, descripcion, fecha_comienzo, fecha_fin, status, id_departamento, id_materia ".
"FROM materia ".
"WHERE nombre_mat ='".$uname."'")->queryAll();
if($evaluacion)
$result ='SI';
else $result ='NO';
return $result;
}
Micliente.php
class MiCliente extends CApplicationComponent
{
private $client = null;
public $ws_url;
private function getClienteInt(){
if($this->client == null)
{
// para que reconozca nuevas funciones del WS que vayas creando
ini_set ( 'soap.wsdl_cache_enable' , 1);
ini_set ( 'soap.wsdl_cache_ttl' , 3600 );
error_log('Llene el cliente ');
$this->client = new SoapClient('localhost/example/index.php/site/ws/');
echo $this->client->getData("hallo");
error_log('salio el cliente ');
}else error_log('Cliente no NULL ');
return $this->client;
}
public function existeMateria($uname){
error_log('Username: '.$uname);
return $this->getClienteInt()->getExisteMateria($uname);
}}
Cuando ingreso en la url localhost/example/index.php/site/ws/existemateria me imprime todos los servios
<definitions name="SiteController" targetNamespace="urn:SiteControllerwsdl"><wsdl:message name="getObtenerMensajeRemotoRequest"><wsdl:part name="argX" type="xsd:string"/></wsdl:message><wsdl:message name="getObtenerMensajeRemotoResponse"><wsdl:part name="return" type="xsd:string"/></wsdl:message><wsdl:message name="getExisteLoginRequest"><wsdl:part name="uname" type="xsd:string"/></wsdl:message><wsdl:message name="getExisteLoginResponse"><wsdl:part name="return" type="xsd:string"/></wsdl:message><wsdl:message name="getExisteMateriaRequest"><wsdl:part name="uname" type="xsd:string"/></wsdl:message><wsdl:message name="getExisteMateriaResponse"><wsdl:part name="return" type="xsd:string"/></wsdl:message><wsdl:message name="getExistePensumRequest"><wsdl:part name="id" type="xsd:string"/></wsdl:message><wsdl:binding name="SiteControllerBinding" type="tns:SiteControllerPortType"><soap:binding style="rpc" transport=" schemas.xmlsoap.org/soap/http"/><wsdl:operation name="getObtenerMensajeRemoto"><soap:operation soapAction="urn:SiteControllerwsdl#getObtenerMensajeRemoto" style="rpc"/><wsdl:input><soap:body use="encoded" namespace="urn:SiteControllerwsdl" encodingStyle="
schemas.xmlsoap.org/soap/encoding/"/></wsdl:input><wsdl:output><soap:body use="encoded" namespace="urn:SiteControllerwsdl" encodingStyle="schemas.xmlsoap.org/soap/encoding/"/></wsdl:output></wsdl:operation><wsdl:operation name="getExisteLogin"><soap:operation soapAction="urn:SiteControllerwsdl#getExisteLogin" style="rpc"/><wsdl:input><soap:body use="encoded" namespace="urn:SiteControllerwsdl" encodingStyle="schemas.xmlsoap.org/soap/encoding/"/></wsdl:input><wsdl:output><soap:body use="encoded" namespace="urn:SiteControllerwsdl" encodingStyle="schemas.xmlsoap.org/soap/encoding/"/></wsdl:output></wsdl:operation><wsdl:operation name="getExisteMateria"><soap:operation soapAction="urn:SiteControllerwsdl#getExisteMateria" style="rpc"/><wsdl:input><soap:body use="encoded" namespace="urn:SiteControllerwsdl" encodingStyle=" schemas.xmlsoap.org/soap/encoding/"/></wsdl:input>!peration></wsdl:binding><wsdl:service name="SiteControllerService"><wsdl:port name="SiteControllerPort" binding="tns:SiteControllerBinding"><soap:address location="localhost/gestioncurricular/index.php/site/ws?ws=1"/></wsdl:port></wsdl:service></definitions>
Solo quiero la deficion del servicio ExisteMateria.Alguna idea?
Gracias