如何获取soapclient函数的响应

时间:2013-09-03 21:08:19

标签: php soap-client

foreach ($record_sets as $row) {
    $params->Loginname = "a";
    $params->Password = "xxxxxxx";
    $params->studentresult = "<a1><marks>95</marks><grade>A</grade></a1>"; 
    $params->rollid = $row[0];

    $response = $client->Marksofstudent($params);
    $result = $response->Marksresult->SqlXml->any;

    var_dump($result);    

    /* NEED TO ALERT THE MESSAGE IF SOAP CLIENT FUNCTION RETURNS THE SUCCESS */
} 

当我运行此代码时,它会上传我的数据。当我var_dump该值时,它返回字符串(800)“”。当我右键单击并检查视图源时,下面的xml根据成功和失败而来。

它返回xml之类的 <ROOT ........."><t1><t2 rollid="76" marks="282"/></t1><Transfer><row TransferedrollID="5"/></Transfer></ROOT>成功时。

如果上传成功,我如何向客户提醒。

如果出现错误,则返回xml,如“<ROOT ........."><t1><t2 rollid="76" eror="invalid roll number"/></ProcessLog></ROOT>'

我只是想提示警告,如果xml上传成功,因为xml如上所述,并在xml返回时提示错误提示为第二个。

1 个答案:

答案 0 :(得分:2)

一种方法是:

if (strpos($result, 'eror') === false) echo 'Success!';

另一种方式:

$xml = new SimpleXMLElement($result);
if (isset($xml->t1->t2->Transfer->row)) {
  echo 'Success!';
}