1

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'];
?>
4

1 に答える 1