
Si estás usando un documento
WSDL
para acceder al servicio web, la clase SoapClient
implementa dos métodos que muestran parte de la información que contiene; concretamente, los tipos de datos definidos por el servicio, y las funciones que ofrece. Para conocer esta información, una vez creado el objeto, debes utilizar los métodos __getTypes
y __getFunctions
respectivamente.<?php
$cliente = new SoapClient("https://cvnet.cpd.ua.es/servicioweb/publicos/pub_gestdocente.asmx?wsdl");
$funciones = $cliente->__getFunctions();
echo "<ul>";
foreach ($funciones as $k => $v) {
echo "<li><code>$v</code></li>";
}
echo "</ul>";
<?php
$cliente = new SoapClient("https://cvnet.cpd.ua.es/servicioweb/publicos/pub_gestdocente.asmx?wsdl");
$tipos = $cliente->__getTypes();
echo "<ul>";
foreach ($tipos as $k => $v) {
echo "<li><code>$v</code></li>";
}
echo "</ul>";
El resultado obtenido es:
Donde las funciones aparecen duplicadas, dado que el servicio web, como ya vimos, ofrece dos versiones de la misma: una para SOAP
1.1 y otra para SOAP
1.2.
La extensión "PHP SOAP"
también incluye opciones de depuración muy útiles para averiguar qué está pasando cuando la conexión al servicio web no funciona como debería. Para habilitarlas, cuando hagas la llamada al constructor de la clase SoapClient
, debes utilizar la opción trace
en el array de opciones del segundo parámetro.
$cliente = new SoapClient(
"https://cvnet.cpd.ua.es/servicioweb/publicos/pub_gestdocente.asmx?wsdl",
array('trace'=>true)
);