我正在尝试设置一个没有wsdl的web服务(目前),但没有工作。

我有一个名为“Operaciones.php”的文件,代码如下:

<?php 

namespace ClasesT6;

use PDO, PDOException;

class Operaciones extends Conexion {

    public function __construct()
    {
        parent::__construct();
    }

    function getPVP($id) {

        $pvp = null;

        $consulta = " SELECT pvp FROM productos WHERE id='$id' ";
        $stmt = $this->conexion->prepare($consulta);

        try {
            $stmt->execute();

            if($stmt) {
                $row = $stmt->fetch();
                $pvp = $row['pvp'];
            }

        } catch (PDOException $ex) {
            die("Error al recuperar el pvp del producto indicado: " . $ex->getMessage());
        }

        return $pvp;

    }

    function getStock($idproducto, $idtienda) {

        $stock = null;

        $consulta = " SELECT unidades FROM stocks WHERE producto='$idproducto' AND tienda='$idtienda' ";
        $stmt = $this->conexion->prepare($consulta);

        try {
            $stmt->execute();

            if($stmt) {
                $row = $stmt->fetch();
                $stock = $row['unidades'];
            }

        } catch (PDOException $ex) {
            die("Error al recuperar el stock del producto indicado en la tienda indicada: " . $ex->getMessage());
        }

        return $stock;

    }

    function getFamilias() {

        $familiasCod = array();

        $consulta = " SELECT * FROM familias ";
        $stmt = $this->conexion->prepare($consulta);

        try {
            $stmt->execute();

            if($stmt) {
                $row = $stmt->fetch();
    
                while ($row != null) {
                    $familiasCod[] = "{$row['cod']}";
                    $row = $stmt->fetch();
                }
    
            }

        } catch (PDOException $ex) {
            die("Error al recuperar el código de las familias: " . $ex->getMessage());
        }

        return $familiasCod;

    }

    function getProductosFamilia($cod) {

        $productosFamiliaIds = array();

        $consulta = " SELECT id FROM productos WHERE familia='".$cod."' ";
        $stmt = $this->conexion->prepare($consulta);

        try {
            $stmt->execute();

            if($stmt) {
                $row = $stmt->fetch();
    
                while ($row != null) {
                    $productosFamiliaIds[] = "{$row['id']}";
                    $row = $stmt->fetch();
                }
            }

        } catch (PDOException $ex) {
            die("Error al recuperar el id de los productos de la familia indicada: " . $ex->getMessage());
        }

        return $productosFamiliaIds;

    }

}

?>

然后我得到了文件“service.php”,代码如下:

<?php 

require '../vendor/autoload.php';

$uri = 'http://localhost/archivos/FP/DWES/tarea6/servidorSoap';
$parametros = ['uri'=>$uri];

try {

    $server = new SoapServer(NULL, $parametros);
    $server->setClass('Operaciones');
    $server->handle();

} catch (SoapFault $f) {

    die("error en server: " . $f->getMessage());

}

?>

然后我得到了文件“cliente.php”,其中包含以下代码:

<?php 

require '../vendor/autoload.php';

$url = 'http://localhost/archivos/FP/DWES/tarea6/servidorSoap/servicio.php';
$uri = 'http://localhost/archivos/FP/DWES/tarea6/servidorSoap';

header('Content-Type: text/html; charset=UTF-8');

try {
    $cliente = new SoapClient(null, ['location' => $url, 'uri' => $uri, 'trace'=>true]);
} catch (SoapFault $ex) {
    echo "Error: ".$ex->getMessage();
}

$paramPVP = ['id' => "1"];
$getPVP = $cliente->__soapCall('getPVP', $paramPVP);

?>

当我在本地主机上打开client.php时,会出现以下错误:

致命错误:未捕获SoapFault异常:[Applications/XAMPP/xampfiles/htdocs/files/FP/DWES/task6/public/client.php中不存在[SOAP-ENV:Server]函数'getPVP'(17):SoapClient->__soapCall('getPVP',Array)#1{main}在第17行的/Applications/XAMPP/xampfiles/htdocs/archivos/FP/DWES/tarea6/public/client.php中抛出

我已经按照课程中的说明制作了service.php和client.php,但它不起作用,我不知道如何修复它。

非常感谢您提出的解决方案建议

未捕获SoapFault异常:[SOAP-ENV:Server]函数';X';没有';不存在的更多相关文章

  1. 从iOS应用程序发送帖子到PHP脚本不工作…简单的解决方案就像

    我之前已经做了好几次了但是由于某些原因我无法通过这个帖子…我尝试了设置为_POST且没有的变量的PHP脚本……当它们未设置为发布时它工作精细.这是我的iOS代码:这里是PHP的一大块,POST变量不在正确的位置?我想这对于更有经验的开发人员来说是一个相当简单的答案,感谢您的帮助!解决方法$_POST是一个数组,而不是一个函数.您需要使用方括号来访问数组索引:

  2. swift学习2 元组 tuples

    swift中出现了一种新的数据结构,非常牛掰的元组tuples如果懂PHP的猿,会发现这个元组和PHP的数组非常类似,同样是可以默认不指定key,也可以指定key目前的学习疑问是,如何进行元组的遍历?

  3. 尝试使用swift mailer,gmail smtp,php发送邮件

    这里是我的代码:在运行时出现此错误…

  4. PHP使用JpGraph绘制折线图操作示例【附源码下载】

    这篇文章主要介绍了PHP使用JpGraph绘制折线图操作,结合实例形式分析了php使用JpGraph的相关操作技巧与注意事项,并附带源码供读者下载参考,需要的朋友可以参考下

  5. jQuery的Cookie封装,与PHP交互的简单实现

    下面小编就为大家带来一篇jQuery的Cookie封装,与PHP交互的简单实现。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

  6. PHP+jquery+CSS制作头像登录窗(仿QQ登陆)

    本篇文章介绍了PHP结合jQ和CSS制作头像登录窗(仿QQ登陆),实现了类似QQ的登陆界面,很有参考价值,有需要的朋友可以了解一下。

  7. 如何在PHP环境中使用ProtoBuf数据格式

    这篇文章主要介绍了如何在PHP环境中使用ProtoBuf数据格式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

  8. PHP rsa加密解密算法原理解析

    这篇文章主要介绍了PHP rsa加密解密算法原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

  9. PHP cookie与session会话基本用法实例分析

    这篇文章主要介绍了PHP cookie与session会话基本用法,结合实例形式分析了PHP cookie与session会话基本存储、设置、删除等相关使用方式,需要的朋友可以参考下

  10. PHP 匿名函数与注意事项详细介绍

    这篇文章主要介绍了PHP 匿名函数与注意事项详细介绍的相关资料,匿名函数是PHP5.3引进来了,php5.3不但引进了匿名函数还有更多更好多新的特性了,下面我们一起来了解一下PHP匿名函数与注意事项详解,需要的朋友可以参考下

随机推荐

  1. 如何扩展ATmega324PB微控制器的以下宏寄存器?

    我目前正在学习嵌入式,我有以下练习:展开以下宏寄存器:如果有人解决了这个问题,我将不胜感激,以便将来参考

  2. Python将ONNX运行时设置为返回张量而不是numpy数组

    在python中,我正在加载预定义的模型:然后我加载一些数据并运行它:到目前为止,它仍在正常工作,但我希望它默认返回Tensor列表,而不是numpy数组。我对ONNX和PyTorch都是新手,我觉得这是我在这里缺少的基本内容。这将使转换中的一些开销相同。

  3. 在macOS上的终端中使用Shell查找文件中的单词

    我有一个文本文件,其中有一行:我需要找到ID并将其提取到变量中。我想出了一个RexEx模式:但它似乎对我尝试过的任何东西都不起作用:grep、sed——不管怎样。我的一个尝试是:我为这样一个看似愚蠢的问题感到抱歉,但我在互联网上找不到任何东西:我在SO和SE上读了几十个类似的问题,并在谷歌上搜索了几个教程,但仍然无法找到答案。欢迎提供任何指导!

  4. react-chartjs-2甜甜圈图中只有标题未更新

    我正在使用react-chartjs-2在我的网站中实现甜甜圈图。下面是我用来呈现图表的代码。我将甜甜圈图的详细信息从父组件传递到子组件,所有道具都正确传递。当我在beforeDraw函数外部记录props.title时,它会记录正确的值,但当我在beforeDraw函数内部记录props.title时,它将记录标题的前一个值,从而呈现标题的前值。我在这里做错了什么?

  5. 如何在tkinter中使用Python生成器函数?

    生成器函数承诺使某些代码更易于编写。但我并不总是知道如何使用它们。假设我有一个斐波那契生成器函数fib(),我想要一个显示第一个结果的tkinter应用程序。当我点击“下一步”按钮时,它会显示第二个数字,依此类推。我如何构建应用程序来实现这一点?我可能需要在线程中运行生成器。但如何将其连接回GUI?

  6. 如何为每次提交将存储库历史记录拆分为一行?

    我正在尝试获取存储库的历史记录,但结果仅以单行文本的形式返回给我。

  7. 尝试在颤振项目上初始化Firebase时出错

    当尝试在我的颤振项目上初始化firebase时,我收到了这个错误有人知道我能做什么吗?应用程序分级Gradle插件Gradle项目颤振相关性我已经将firebase设置为Google文档已经在另一个模拟器上尝试过,已经尝试过创建一个全新的模拟器,已经在不同的设备上尝试过了,已经尝试了特定版本的firebase,已经尝试添加但没有任何效果,已经在youtube上看到了关于它的每一个视频,该应用程序在android和iOS两个平台上都抛出了这个错误

  8. 在unix中基于当前日期添加新列

    我试图在unix中基于时间戳列在最后一个单元格中添加一个状态列。我不确定如何继续。

  9. 麦克斯·蒙特利。我一直得到UncaughtReferenceError:当我在终端中写入node-v时,节点未定义

    如果这是您应该知道的,请确认:我已将所有shell更改为默认为zsh。当我在终端中写入node-v时,我一直收到“UncaughtReferenceError:nodeisnotdefined”。但它显示节点已安装。我是个新手,在这方面经验不足。

  10. 如何在前端单击按钮时调用后端中的函数?

    那么如何在后端添加一个新的端点,点击按钮调用这个函数。

返回
顶部