2013-06-24 2 views
1

Я пытаюсь обновить запись, находящуюся в таблице Salesforce. Я использую API-интерфейс REST Java HttpClient, чтобы сделать то же самое. Получение ошибки при использовании PATCH для обновления записи в Salesforce.Обновление записей с использованием Salesforce REST API. Метод исправления не работает.

PostMethod post = new PostMethod(
    instanceUrl + "/services/data/v20.0/sobjects/" + 
    objectName + "/" + Id + "?_HttpMethod=PATCH" 
); 

[{ "сообщение": " 'PATCH' HTTP метод не Допускаются являются HEAD, GET, POST", "ERRORCODE": "METHOD_NOT_ALLOWED"}]

пытался также делать следующее:

PostMethod post = new PostMethod(
    instanceUrl + "/services/data/v20.0/sobjects/" + objectName + "/" + Id) 
    { 
     public String getName() { return "PATCH"; 
    } 
}; 

Это также возвращает ту же ошибку. Мы используем apache tomcat с библиотекой commons-httpclient-3.1.jar. Просьба сообщить, как это можно сделать.

ответ

0

Как я понимаю, вы знаете, что в общедоступном сообществе httpclient 3.1 отсутствует метод PATCH, и библиотека была в конце жизни. В вашем коде выше вы пытаетесь добавить HTTP-метод в качестве параметра запроса, что на самом деле не имеет смысла.

Как видно на SalesForce Developer Board, вы можете сделать что-то вроде этого, вместо:

HttpClient httpclient = new HttpClient(); 
PostMethod patch = new PostMethod(url) { 
    @Override 
    public String getName() { 
    return "PATCH"; 
    } 
}; 
ObjectMapper mapper = new ObjectMapper(); 
StringRequestEntity sre = new StringRequestEntity(mapper.writeValueAsString(data), "application/json", "UTF-8"); 
patch.setRequestEntity(sre); 
httpclient.executeMethod(patch); 

Это позволяет латать, не переключаясь вашу библиотеку HTTPClient.

0

Проверьте, используете ли вы правильную реализацию метода PATCH, см .: Insert or Update (Upsert) a Record Using an External ID.

Также проверьте правильность URL-адреса REST, возможно, ваш объектId не был правильно передан из Javascript.

Имя_объекта - это имя таблицы Salesforce i.e. «Контакт». И Id - это идентификатор определенной записи, которую вы хотите обновить в таблице.

Похожие:

Смежные вопросы