EMSクライアントからサーバーへアクセスすると、「EMS Provider ERROR 予期しないコンテンツタイプです。 application/json を送出しました」というエラーが発生する

提供: Support
移動先: 案内検索

質問

チュートリアル:FireDAC RAD サーバー リソースを実装する」を参考にしてRAD Serverのコードを実装しています。

EMSクライアントのプログラムを起動し、RAD Serverへアクセスすると以下のエラーが表示されます。

EMS Provider ERROR 予期しないコンテンツタイプです。 application/json を送出しました

このエラーが発生するのは何故でしょうか ?

回答

日本語のチュートリアルに記載されている実装コードが正しくありません。

チュートリアルのGET、POSTメソッドに記載されているコンテンツタイプの正しい実装コードは、以下の通りです。

<誤>

Delphiの場合:

AResponse.Body.SetStream(oStr, 'application/json', True);

C++の場合:

AResponse->Body->SetStream(oStr, "application/json", True);


<<正>>

Delphiの場合:

AResponse.Body.SetStream(oStr, 'application/vnd.embarcadero.firedac+json', True);

C++の場合:

AResponse->Body->SetStream(oStr, "application/vnd.embarcadero.firedac+json", True);

こちらの英語のチュートリアルには、正しい実装コードが記載されております。