PHP:带有JSON响应的SOAP Web服务

时间:2015-11-20 06:20:09

标签: php json web-services soap

我正在使用if(qty_val > 0) { if(jq(this).val() == "Choose One" || jq(this).val() == "Please Select if Ordering" || jq(this).val() == "Please Choose Color" ) { var errorMsg = attr_name.replace("vwattr"+attr_nbr+"_",""); alert("Please select proper "+errorMsg+" in related Items"); jq(this).css("border", "1px solid red").focus(); event.preventDefault(); return false; } } webservice中开发PHP,我必须以SOAP格式返回回复。 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中的string并且我在方法中返回一个实际字符串时,它工作正常,但在{{1}的情况下它不会对象。有什么帮助吗?

1 个答案:

答案 0 :(得分:0)

我猜这里,因为你在服务器端做了一个json_encode,你必须在客户端做一个json_decode。

更改最后一行的代码:

 echo $json;

 echo json_decode($json);