OK、まず、何かが足りないに違いないので、初心者の質問になる可能性があることをお詫びします...
動作しない複雑なコードがあるため、ここまたは任意のポインターに掲載しています。プロプライエタリなのであまり共有できないので、ここに行きます。
ユーザー、サーバー、アプライアンスの 3 つの層があります。サーバーとアプライアンスは php 対応で、クライアントは IE または Chrome のいずれかです - 動作は同じです。
ユーザー層は HTML 5 フォームからサーバーにデータを送信し、サーバーはそれをデータベースに記録し、アプライアンスに送信できます。ここではすべて問題ありません。
アプライアンスで https が有効になっていないため、トリガー/レスポンス モデルを設定しようとしています。これは、簡略化されたメッセージまたはキー (GUID として) をアプライアンスに送信し、アプライアンスが XML メッセージを処理するためにサーバーにコールバックすることを意味します。コールバックは call を使用して行われ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'];
?>