PHP SOAP 向客户端返回错误的值
本文关键字:错误 返回 客户端 SOAP PHP | 更新日期: 2023-09-27 17:56:31
我正在尝试通过 SOAP 将值从我的 (MySQL) 数据库返回到 C# 客户端。
服务器是用PHP编写的,我认为这是所有问题所在:
class foo{
function bar()
{
$result = $connection->query("SELECT value
FROM table
WHERE id='$id'");
$row = $result->fetch_assoc();
return (int)$row['value'];
}
}
在 C# 中将显示为 0,无论数据库中的值是什么。然而
class foo{
function bar()
{
return 5;
}
}
在 C# 中显示为正确的值(在本例中为 5)。
我在这里错过了什么?似乎数据库中的数据不会正确返回到 C#,但在 PHP 中写入相同值的任何其他方法(静态)都会成功。
编辑:我现在已经设置了一个 PHP SOAP 客户端,它接收的值与 C# 相同。因此,问题似乎出在 PHP SOAP 服务器上,它将错误的值传达给客户端(只要要返回的值不是静态的)。
编辑:我现在已经找到了解决问题的方法;我的 WSDL 文件有一个复杂的请求类型,即使它只需要一个简单的类型。将此复杂类型更改为简单类型,解决了该问题。不要问我为什么 - 这对我来说没有丝毫意义!
您正在请求一个关联数组。这可能会返回多个项目。