服务提供商让我很头疼。支持人员并没有真正提供帮助,所以我将在这里发布。我有以下代码。
<?php
require_once '../config/database.php';
// read raw POST data
$postData = file_get_contents("php://input");
// extract XML structure from it using PHP’s DOMDocument Document Object Model parser
$dom = new DOMDocument();
$dom->loadXML($postData);
// create new XPath object for quering XML elements (nodes)
$xPath = new domxpath($dom);
// query “message” element
$reports = $xPath->query("/data/record");
// write out attributes of each “message” element
foreach ($reports as $node) {
$id = $node->getAttribute('id');
$status = $node->getAttribute('text');
$updateSMS= mysql_query("UPDATE sms SET message = '{$text}' WHERE ref_no='{$id}'");
}
?>
这是根据服务提供商发布的(到带有上述代码的文件)的 MO(移动发起)XML。是这样的:
POST http://yoururl.com/2way/receiver.php <data> <record> <binary>454C494D5520746573743233333274657374</binary><text>ELIMU test2332test</text><esmClass>0</esmClass><dataCoding>0</dataCoding><receiver>44786XXXXXX </receiver><channelId>JJJJJJ</channelId><keyword></keyword><id>8344551813527196894</id><sender>3859XXXXXX</sender><timestamp>2014-02-21 10:06:34</timestamp><cleanText>ELIMU test2332test</cleanText><pairedMessageId></pairedMessageId><smsCount>1</smsCount></record> </data>
不幸的是,上面的代码根本不起作用。他们提供的唯一帮助是上面的示例 MO XML POST 示例。有任何想法吗?