Take the 2-minute tour ×
Salesforce Stack Exchange is a question and answer site for Salesforce administrators, implementation experts, developers and anybody in-between. It's 100% free, no registration required.

I am trying to use the Database.com REST API to update a record in my database.

Using the REST explorer in my workbench it always gives me an HTTP error (400 bad request) + some HTML that says: We are down for maintenance. Sorry for the inconvenience. We'll be back shortly.

I also get the same error using other REST clients.

The odd thing is that it is only occurring with the update method. GET and Query work perfectly...

What I have in the rest explorer: (I left out my ID numbers)
Methodurl: /services/data/v26.0/sobjects/Album__c/{albumid}

Request headers:
Content-Type: application/json; charset=UTF-8
Accept: application/json

Request body:
{"Name":"Schoppen aas"}

Thanks for any suggestions!

share|improve this question
    
This happens rarely and i have experienced the same and you may need to wait for some time and you will be able to acess the workbench –  Mohith Kumar Nov 26 '12 at 8:59
    
I am able to access the workbench!! I can even execute most of the REST methods. But I can not execute that PATCH method, in the response I get an HTML page that says it's down for maintenace... –  Nielsm Nov 26 '12 at 9:07
    
Thanks for making me understand the actual problems .Certainly this will be bug in workbench #safeharbour .Need to look more on cause. –  Mohith Kumar Nov 26 '12 at 9:30
1  
Yes it is possible that it is a bug, but I also get the same response from my own application or an external REST client so it is also possible that I'm doing something wrong. But I cannot find what it is... –  Nielsm Nov 26 '12 at 10:08
    
Which HTTP method are you using for the update? Are you including an OAuth token in the request? Do you see the same behavior with a standard object such as Account? –  metadaddy Nov 26 '12 at 15:32
add comment

2 Answers

up vote 5 down vote accepted

There was a bug with the database.com inbound proxy where it was incorrectly rejecting PATCH requests. Previously, you had to use the _HttpMethod parameter with a POST request to have your request go through, e.g.

POST /services/data/v26.0/sobjects/Album__c/{albumid}?_HttpMethod=PATCH

Fortunately, this issue is now fixed as of 2012-12-12. PATCH requests may now be used in Database.com organizations.

share|improve this answer
    
Thanks for your reply. Your solution has worked! –  Nielsm Nov 27 '12 at 7:30
add comment

I'll be honest - I have not tried PATCH with workbench. Have you tried using the POST w/ Patch Override? From the docs:

'If you use an HTTP library that doesn't allow overriding or setting an arbitrary HTTP method name, you can send a POST request and provide an override to the HTTP method via the query string parameter _HttpMethod. In the PATCH example, you can replace the PostMethod line with one that doesn't use override:

PostMethod m = new PostMethod(url + "?_HttpMethod=PATCH");'

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.