1

私は何か間違ったことをしている可能性が高いですが、何がわからないのですか。FF ポスターを使用して NetSuite Restlet (Web サービス) をテストしようとしています。URL にデータを渡すことで Get を使用できます。しかし、Put メソッドを使用するとエラーが発生します。

{"エラー" : {"コード" : "SYNTAX_ERROR", "メッセージ" : "SyntaxError: 空の JSON 文字列 (null$lib#3)."}}

下のキャッチブロックに当たっています。作成または更新するには Put を使用する必要があると読んだので、Get が機能するのに Put が機能しない理由がわかりませんか?

function CreateRecord(jsonobject)
{
    try
    {
        nlapiLogExecution('DEBUG', '  in get =  ');

        var jsonString = JSON.stringify(jsonobject)
        nlapiLogExecution('ERROR', 'JSON', jsonString);

        // Mandatory
        var name = jsonobject["name"];
        nlapiLogExecution('DEBUG', '  name =  ', name);

        var record = nlapiCreateRecord('customrecordtest');
        record.setFieldValue('name', name);
        var id = nlapiSubmitRecord(record, true);
        nlapiLogExecution('DEBUG', 'id  =  ', id);
        return jsonobject;
    }
    catch (err) 
    {
        nlapiLogExecution('ERROR', 'Error', err.message);       
        return err.message;
    } 
}

ポスター:

https://rest.sandbox.netsuite.com/app/site/hosting/restlet.nl?script=351&deploy=1&name=Restletテスト

4

1 に答える 1

2

PUT 要求は、URL 内のデータを検索しません。リクエスト自体の本文で JSON を検索します。の代わりに&name=Restlet Test、リクエストの本文で次のようにオブジェクトを送信する必要があります。{ "name" : "Restlet Test" }

于 2016-03-16T14:12:22.837 に答える