【发布时间】:2026-01-17 22:15:01
【问题描述】:
我正在使用SOAP 在PHP 中开发webservice,我必须以JSON 格式返回响应。 Webservice 方法很简单。它需要一个array 作为输入并且应该返回JSON 对象。在webservice注册方法是这样的:
$server->register(
'getProducts',
array('arr' => 'xsd:array'),
array('return' => 'xsd:json')
);
我在方法内部这样做:
$sql3 = "SELECT name, price from products WHERE status_id=$staus_id and cat_id=$cat_id";
$result3 = $conn->query($sql3);
$row3 = mysqli_fetch_all($result3, MYSQLI_ASSOC);
$json = json_encode($row3);
return $json;
而在client 方面,我这样做是为了捕捉对象并回显它:
$response = $client->getProducts($param);
echo $response;
但是当我运行client 边script 时,它什么也没给出(一个空的json 对象):
当我在$server->register 中将方法的返回类型更改为string 并在方法中返回一个实际字符串时,它可以正常工作,但在JSON 对象的情况下就不行了。有什么帮助吗?
【问题讨论】:
标签: php json web-services soap