Spring RestTemplate Опубликовать в Salesforce Плохой запрос 400 - PullRequest
0 голосов
/ 30 января 2020

Все еще ломая голову после нескольких звонков, чтобы получить токен и продукт, опубликовать продукт было практически невозможно с помощью restTemplate, даже несмотря на то, что это удалось с помощью клиента Postman REST.

public AddProductResponse createProduct(@NonNull AuthenticationTokenResponse authenticationTokenResponse)
{
    String url = authenticationTokenResponse.getInstance_url() + "/services/data/v39.0/sobjects/Product2";
    HttpHeaders headers = new HttpHeaders();

    //headers.setAccept(Collections.singletonList(MediaType.APPLICATION_JSON));
    headers.set("Authorization", "Bearer " + authenticationTokenResponse.getAccess_token());
    headers.setContentType(MediaType.APPLICATION_JSON);
    //headers.add("Authorization", "Bearer " + authenticationTokenResponse.getAccess_token());


    MultiValueMap<String, String> requestBody = new LinkedMultiValueMap<>();
    requestBody.add("Name", "Product Name");
    requestBody.add("product_Reference__c", "SOMERef");

    HttpEntity<?> requestEntity = new HttpEntity<>(requestBody, headers);
    RestTemplate restTemplate = new RestTemplate();

    try
    {
        ResponseEntity<AddProductResponse> response = restTemplate.exchange(url, HttpMethod.POST, requestEntity, AddProductResponse.class);
        return response.getBody();
    }
    catch (Exception e)
    {
        LOG.debug("Error creating product");
        e.printStackTrace();
    }

    return null;
}

Интересно, почему мой вызов почтальона удалось, но не с Spring RestTemplate. Скриншот POSTMAN. enter image description here

postman body.

{"Name" : "My New Prod ",
"product_Reference__c": "REFAKINTEST3"}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...