complete
クラス: matlab.net.http.ResponseMessage
パッケージ: matlab.net.http
応答ペイロードの Content-Type の処理または再処理
説明
はメッセージのコピーを msg
= complete(msg
,consumer
)matlab.net.http.io.ContentConsumer
で処理された msg.Body.Payload
で返します。コンシューマーはその結果を msg.Body.Data
に保存するか、他の方法で処理する場合があります。
次の場合に complete
メソッドを使用します。
サーバーが正しくない Content-Type をメッセージに挿入したため、または Content-Type がなかったため、
Body.Data
が設定されなかった、または正しく設定されなかった。データを最初に受信したときにデータが変換されないように ConvertResponse
HTTPOptions.ConvertResponse
プロパティをfalse
に設定した。メッセージの送信時に間違った
consumer
を指定した。
受信メッセージの処理中に例外が発生した場合、または要求の送信時に HTTPOptions.SavePayload
プロパティを設定した場合、この応答メッセージの Body.Payload
には、元のペイロードがあればこれが含まれます。この場合、このメッセージのヘッダーを変更して Content-Type フィールドを追加または訂正します。その後 complete
メソッドを呼び出して、サーバーがその Content-Type フィールドを元々挿入していたかのように応答を処理します。結果として新しいコンテンツが指定の consumer
で処理された Body.Data
または Data
の両方に設定されます。
Body.Payload
が設定されている場合、このメソッドは Body.Data
の現在の値を無視し、Content-Type に基づいてそのペイロードを処理します。これは、変換エラーのとき、または SavePayload
を設定した場合に発生します。ただし、元の受信データの変換が正常に行われたものの正しくなかった場合、Body.Data
が設定され、Body.Payload
が空になることがあります。この場合、受信メッセージの ContentTypeField を希望のタイプに変更してこのメソッドを呼び出します。complete
は、元の変換に使用された Body.ContentType
プロパティに基づいてデータをペイロードに変換しなおそうとします。その後、応答メッセージの新しい Content-Type ヘッダーを使用して再変換されます。Data
が空でない場合、返された Body.Payload
が設定されます。
メッセージの送信時に SavePayload
を指定した場合、complete
は代わりに Body.Payload
に保持された、情報が一切失われていない元のペイロードを使用します。
ResponseMessage.Completed
プロパティが設定されている場合、complete
は何も行いません。Body
を含むメッセージでは、通常、msg
.Body.Payload
が設定されている場合にのみ、このプロパティが設定されます。
入力引数
出力引数
例
バージョン履歴
R2016b で導入