function creaFormularioProductos()
{
    $productos = BD::obtieneProductos();
    $uri = "http://localhost/tienda/recursos_u5/TiendaOnlineOO/tienda";
    $url = "{$uri}/servicio_sin_wdsl.php";
    $cliente = new SoapClient(null, array('location' => $url, 'uri' => $uri, 'trace' => true));
    foreach ($productos as $p) {
        echo "<p><form id='" . $p->getcodigo() . "' action='productos.php' method='post'>";
        // Metemos ocultos los datos de los productos
        echo "<input type='hidden' name='cod' value='" . $p->getcodigo() . "'/>";
        echo "<input type='submit' name='enviar' value='Añadir'/>";
        echo $p->getnombrecorto() . ": ";
        echo $p->getPVP() . " euros.";
        echo "<input type='submit' name='detalle' value='Mostrar detalle'/>";
        echo "</p>";
        echo "</form>";
        if (isset($_POST['detalle'])) {
            if ($_POST['cod'] == $p->getcodigo()) {
                try {
                    //$unproducto=$cliente->obtieneProducto($p->getcodigo());
                    //echo $unproducto->getPVP();
                    $unprecio = $cliente->obtienePrecioProducto($p->getcodigo());
                    print "<p>Precio :" + $unprecio + "</p>";
                } catch (Exception $e) {
                    echo "Exception: " . $e->getMessage();
                }
                // echo $p->getPVP();
                echo "<p>" + $p->getcodigo() + "</p>";
                echo "<p>" + $p->getnombre() + "</p>";
                echo "<p>:" + $p->muestra() + "</p>";
            }
        }
    }
}
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title></title>
    </head>
    <body>
        <?php 
require_once 'include/Producto.php';
$uri = "http://localhost/tienda/recursos_u5/TiendaOnlineOO/tienda";
$url = "{$uri}/servicio_sin_wdsl.php";
$cliente = new SoapClient(null, array('location' => $url, 'uri' => $uri));
$producto = $cliente->obtieneProducto("3DSNG");
//lo hace bien
$otro_precio = $producto->getPVP();
//no funciona por no soportar el serv esta clase.
$precio = $cliente->obtienePrecioProducto("3DSNG");
//correcto
echo "precio " + $precio;
// funciona correctamente.
echo "precio de producto " + $otro_precio;
?>
    </body>
</html>