好的,首先,我一定遗漏了一些东西,所以我为这可能是一个新手问题道歉......
我有一段复杂的代码无法正常工作,所以我把它放在这里或任何指针。我不能分享太多,因为它是专有的,所以就这样吧。
我有三层:用户、服务器、设备。服务器和设备启用了 php,客户端是 IE 或 Chrome - 行为是相同的。
用户层将数据从 HTML 5 表单发送到服务器,服务器又将其记录到数据库中,然后可以发送到设备——这里一切正常。
由于设备未启用 https,我正在尝试设置触发/响应模型。这意味着向设备发送缩写消息或密钥(作为 GUID),然后设备回调服务器以获取 XML 消息进行处理。回调是使用get_file_contents()
调用完成的。
所有部分似乎都在工作,服务器响应正在检索 XML,客户端正在正确选择 XML 标头 - 但是当设备执行调用时,响应为空。
$result = file_get_contents($DestURL) ;
// If I call the value in $DestURL in a browser address
// box - it all works
// If I echo the $result, it is empty, and then nothing
// executes, except the last line.
if (strlen($result)== 0 ) {
// ==> this is not executing <==
$msg = "Failed to open the <a href='" . htmlspecialchars($DestURL) . "'> URL<a>: " . htmlspecialchars($DestURL);
$result="Error";
}
// ==> this is not executing <<==
if ($result=="Error")
{
/*
* need to send an error message
*/
}
else
{
$result = PrintMessage($my_address, $result
}
// ==> This is executing <==
Echo "all Finished";
?>
任何人的任何想法都非常感谢。
服务器 Web 服务如下所示:
<?php
header("Content-type: text/xml");
// a bunch of items getting the data from the database
$result = mysqli_query($con, $sql);
$row = mysqli_fetch_array($result);
echo $row['message_XML'];
?>