HTTP Response Status Codes: GET (retrieve), POST (create), PUT (modify), and DELETE (REST, Bulk, Any API)

Many of us, who are starters, starting to wonder when reading any API documentations or starting out with your first program built to make any of the API calls, what do all error codes means, when I get many different types of response from running the program/script. The only reason I thought about sharing this is because I know how motivation plays a key role when dealing with Eloqua platform and building components on top. This extends the functionality beyond what is already out of the box.
I put together a table that explains these in details. I hope you can benefit in resolving issues as you venture in your journeys. This is a very common chart that can be seen across many platform REST APIs. Idea was to have it here because the audience are not always the same.
Response Code
HTTP Operation
Response Body Contents
Description
200
GET, PUT, DELETE
Resource
No error, operation successful.
201 Created
POST
Resource that was created
Successful creation of a resource.
202 Accepted
POST, PUT, DELETE
N/A
The request was received.
204 No Content
GET, PUT, DELETE
N/A
The request was processed successfully, but no response body is needed.
301 Moved Permanently
GET
XHTML with link
Resource has moved.
303 See Other
GET
XHTML with link
Redirection.
304 Not Modified
conditional GET
N/A
Resource has not been modified.
400 Bad Request
GET, POST, PUT, DELETE
Error Message
Malformed syntax or a bad query.
401 Unauthorized
GET, POST, PUT, DELETE
Error Message
Action requires user authentication.
403 Forbidden
GET, POST, PUT, DELETE
Error Message
Authentication failure or invalid Application ID.
404 Not Found
GET, POST, PUT, DELETE
Error Message
Resource not found.
405 Not Allowed
GET, POST, PUT, DELETE
Error Message
Method not allowed on resource.
406 Not Acceptable
GET
Error Message
Requested representation not available for the resource.
408 Request Timeout
GET, POST
Error Message
Request has timed out.
409 Resource Conflict
PUT, PUT, DELETE
Error Message
State of the resource doesn't permit request.
410 Gone
GET, PUT
Error Message
The URI used to refer to a resource.
411 Length Required
POST, PUT
Error Message
The server needs to know the size of the entity body and it should be specified in the Content Length header.
412 Precondition failed
GET
Error Message
Operation not completed because preconditions were not met.
413 Request Entity Too Large
POST, PUT
Error Message
The representation was too large for the server to handle.
414 Request URI too long
POST, PUT
Error Message
The URI has more than 2k characters.
415 Unsupported Type
POST, PUT
Error Message
Representation not supported for the resource.
416 Requested Range Not Satisfiable
GET
Error Message
Requested range not satisfiable.
500 Server Error
GET, POST, PUT
Error Message
Internal server error.
501 Not Implemented
POST, PUT, DELETE
Error Message
Requested HTTP operation not supported.
502 Bad Gateway
GET, POST, PUT, DELETE
Error Message
Backend service failure (data store failure).
505
GET
Error Message
HTTP version not supported.
Hope this helps. Original post: REST API Status Codes and Complete REST API Tutorial with Status Codes.
Thank
Amit

Hi, I am trying to PUT to update contact info and I get following error:
2015-01-16 11:00:17,970 INFO [main] oracle.eloqua.connector.eloqua.EloquaConnector.putWithBasicAuth(97) | accessHttpsPut.url=https://secure.eloqua.com/API/REST/2.0//data/contact/7606838, text={"id":"7606838","accountName":"openIdStr001","emailAddress":"[email protected]","type":"Contact"}
2015-01-16 11:00:18,931 ERROR [main] oracle.eloqua.connector.eloqua.EloquaConnector.putWithBasicAuth(140) | ClientProtocolException
org.apache.http.client.HttpResponseException: Request is malformed.
Is there any idea?
Thanks so much.
Sincerely.

Similar Messages

  • Firefox 3.6.3, windows 7 HP,flash player 10.1.53.64---unexpected http response-status code 13030--

    windows 7 HP, Firefox 3.6.3,flash player 10.1.53.64--unexpected HTTP response-status code 13030- any idea on what to do?
    == URL of affected sites ==
    yahoo mail

    Same problem here! Actually took me quite awhile to figure out what the hell was causing the slight screen flicker when going on Youtube, but I'm confirming this. With Hardware Acceleration enabled, Flash changes GPU Memory (VRAM) frequency and locks it so that it can't be changed until the video page is closed. Mine downshifts from 950 down to 500, which is quite of an achievment as for some reason this card with it's fancy schmancy GDDR5 memory isn't too keen on underclocking the VRAM..
    Hardware:
    CPU: Intel Core 2 Quad Q6600 2,4Ghz @ 3 Ghz
    RAM: 4GB A-Data 800mhz
    GPU: ATI Redeon HD 4870
    GPU  clock settings:
    - GPU: 790 MHZ/ default 750 MHZ
    - VRAM 950  MHZ/ default 900 MHZ
    MB: MSI P35 Neo Combo
    Software:
    OS: Windows  7 Ultimate x64
    Browser:    Firefox 3.6.3 and it's speedy variant Pale Moon (http://www.palemoon.org)

  • AdControl error: HTTP error status code: NotFound (404)

    For over a week now, a Silverlight WP 8 app with an AdControl configured for "test_client" continues to report this error and thus no bing ad visible either while running from an emulator (8.1 512) or from a WP 8 device. If I change the AdUnit
    to use a PubCenter ID it works fine on the device and ads are displayed. The emulator connects to the Internet just fine via IE.
    Could the ad server not be responding to the "test_client"?
    Could someone let me know if it has worked recently for them? I tried contacting MS and no one seems to have an app configured with the test ad... I could give MS so many helpful suggestions. But looking at the hundreds of un-answered posts here - I
    suppose they're busy with Windows 10...and have they asked developers if they're willing to put up everything on the cloud? all the while people still waiting to see the 'start' button on Windows 9?
    here's the trace
    Ad Err: NetworkConnectionFailure,Microsoft.Advertising.Shared.AdException: HTTP error status code: NotFound (404) ---> System.Net.WebException: The remote server returned an error: NotFound. ---> System.Net.WebException: The remote server returned
    an error: NotFound.
       at System.Net.Browser.ClientHttpWebRequest.InternalEndGetResponse(IAsyncResult asyncResult)
       at System.Net.Browser.ClientHttpWebRequest.<>c__DisplayClasse.<EndGetResponse>b__d(Object sendState)
       at System.Net.Browser.AsyncHelper.<>c__DisplayClass1.<BeginOnUI>b__0(Object sendState)
       --- End of inner exception stack trace ---
       at System.Net.Browser.AsyncHelper.BeginOnUI(SendOrPostCallback beginMethod, Object state)
       at System.Net.Browser.ClientHttpWebRequest.EndGetResponse(IAsyncResult asyncResult)
       at Microsoft.Advertising.Shared.HttpRequest.EndGetResponse(IAsyncResult asyncResult)
       at Microsoft.Advertising.Shared.WebRequestWrapper.WebRespCallback(IAsyncResult result)
       --- End of inner exception stack trace ---
    I do love Windows - don't get me wrong - I'll check my 2nd dev system soon.

    Hi Ravi,
    Reward points if this helps
    The J2EE server might be overburdened and cannot accept the call. The 'Receive'servlet is not called. You will find further details on the HTTP status code definitions under "http://www.w3.org". Check the accessibility of the server by calling: http://<hostname>:<port>/MessagingSystem/receive/AFW/XI.
    The Listener Beans of the affected connection (AFW, Marketplace, BC,see above) were not registered or the log-specific Event Handler was not found.
    Check out this trouble shooting guide for SAP XI...Section 7.4.4.4 talks about exactly the same problem:-
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/bd5950ff-0701-0010-a5bc-86d45fd52283
    Reward points if this helps
    Regards
    Pragathi.

  • How do I set the response status code for a request in ADF?

    For example:
    I have a page accessible like page.jspx?id=$ID, in which $ID identifies an object stored in a database. The user navigates to page.jspx?id=abc. abc does not exist or has been deleted. I wish to set the response status code to 404 for the page request, like, for instance, https://docs.google.com/spreadsheet/ccc?key=abc does. How do I do this?
    PS: Changing the status code for subsequent partial submits on the page if the object is deleted while the user is on the page (e.g. if the user attempts to delete an already deleted object through a "Delete" button on the page) may also be desirable, but would probably not fit in as well with the ADF lifecycle or be as useful.

    Maybe I should be more specific about the current state of the code. It's something functionally similar in relevant portions to the following. For the purposes of this code, assume the ID maps only to a name, rather than a more complicated object:
    page.jspx looks like:
    <?xml version='1.0' encoding='utf-8'?>
    <jsp:root xmlns:jsp="http://java.sun.com/JSP/Page"
         xmlns:f="http://java.sun.com/jsf/core"
         xmlns:af="http://xmlns.oracle.com/adf/faces/rich"
         xmlns:trh="http://myfaces.apache.org/trinidad/html" version="1.2">
         <jsp:directive.page contentType="text/html;charset=utf-8" />
         <f:view>
              <af:document binding="#{pageInitializer.dummyComponent}" title="#{pageData.name != null ? pageData.name : 'Object Not Found'}">
                   <af:outputText rendered="#{pageData.name != null}" value="#{pageData.name}" />
                   <af:outputText rendered="#{pageData.name == null}" value="No object was found at this URL." />
              </af:document>
         </f:view>
    </jsp:root>pageInitializer and pageData are pageFlow-scoped beans with the following code:
    class PageInitializer {
         @Inject private PageData pageData;
         @Inject private NameDao nameDao;
         @PostConstruct
         void initialize() {
              String name = nameDao.getNameById(FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap().get("id"));
              if (name != null)
                   pageData.setName(name);
              else
                   // TODO: Set status code 404
         public void setDummyComponent(UIComponent dummyComponent) {
         public UIComponent getDummyComponent() {
              return null;
    public class PageData {
         private String name;
         public String getName() {
              return name;
         public void setName(String name) {
              this.name = name;
    }The code initializes the data from the database through the initilaizer of a pageFlow-scoped bean with a dummy setter for the document because I read somewhere that that would work, and it seems to work, even though it seems hacky.
    Ideally, the code would render the 404 where it currently says (// TODO: Set status code 404). I realize this may not even be possible given the current architecture, because part of the response body has already been rendered, and I believe, but cannot find a source to cite, that the status code and headers cannot be set after the body has started being rendered. Is there any architecture that would get me this page's functionality (even if it's two JSPXs on the backend (which might be ideal)) and be able to render a 404 for an inexistent object?
    Edited by: 907794 on Feb 1, 2012 3:55 PM
    Edited by: 907794 on Feb 1, 2012 3:58 PM

  • "UnexpectedHTTP Response - Status Code:200" error with Yahoo mail.

    I am getting constant error "UnexpectedHTTP Response - Status Code:200" error with Yahoo mail. Is it some known error?
    I have a snapshot of issue but there is now way I could attach that with this query. This happens more often after I login into yahoo and try to delete my mails or delete my spam mails or go to inbox etc...
    Thanks,
    Santosh Thankachan

    EXACT, but the interface monitor shows that as an error.
    And that's what I need, a good monitoring, that should not appear as an error

  • Response Status Code

    Hi,
    How to get Response status code of the request. In response stream we are getting Statuscode and Status Message along with many data. But I want only status message and code. How to get this.
    Thanks

    Its working.....
    ServiceResponse serviceResponse = idcClient.sendRequest(userContext, requestDataBinder);
    DataBinder responseBinder = serviceResponse.getResponseAsBinder(false);
    int statusCode = responseBinder.getLocalData().getInteger("StatusCode");
    String statusMessage = responseBinder.getLocal ("StatusMessage");
    System.out.println(" Status: " + statusCode + " - " + statusMessage);
    Thanks,
    Jayam

  • VS2013 Git & Bitbucket, Detailed message: Response status code does not indicate success: 401

    Hi.
    I am a student trying to use VS2013 git & bitbucket in a virtual windows 7 environment and trying to clone a bitbucket repository via team explorer.
    After entering the repository URL I enter credentials for butbucket and receive the following message  Detailed
    message: Response status code does not indicate success: 401
    Source tree can see the repository using the username and password for bitbucket so it must be something I am missing in
    VS. Please can anyone help me with this issue.
    Thanks.
    Martin

    Hi.
    Thank you for the reply. 
    There is only me a single developer. All I want to do is clone an existing repository, it all seems a bit complicated if it does not work from the get go. Having watched a couple of youtube videos it should not be that hard to make it work. Source tree using
    my bitbucket credentials can see my repository.
    This looks to be a authentication problem.
    "If you want to publish it to Bitbucket, make sure the eamil (sic) account for Bitbucket is a team member of your
    Git team project and has the needed permissions to do the publishing."
    Please could some one tell me where I can find this:-
    1. Setup a GIT team project
    2. Relevant permissions

  • TS1702 Cannot get iPhone 4 to talk with Mac Lion using Numpad. Have updated, restarted etc. Have Screen Sharing on. It sees my computer but when I press keys on the NumPad there is no response. I have tried it on the Calculator and on Sibelius. Any clues?

    Cannot get iPhone 4 to talk with Mac Lion using Numpad. Have updated, restarted etc. Have Screen Sharing on. It sees my computer but when I press keys on the NumPad there is no response. I have tried it on the Calculator and on Sibelius. Any clues??

    Here's how to do it.
    1. App Store, iTunes Store should have the same AppleID on Computer and iPhones. (Free to share apps, music and books... )
    2. Person A uses the same purchasing account for everything (ie. email, contacts and ...).
    3. Person B have the same purchase account see no. 1 (for App Store and iTunes Store) but create a second AppleID for iCal, e-mail, contacts  and etc.

  • How to create snapshot portlet and snapshot query using server API

    How to create snapshot portlet and snapshot query using server API
    Regards
    Dheeraj

    Hi Sebastian,
    I have used the query and it is working fine. but, How could i include the headers of the query also in to the Excel Sheet.
    RehaanKhan. M
    see the method discussed here
    http://sqlblogcasts.com/blogs/madhivanan/archive/2008/10/10/export-to-excel-with-column-names.aspx
    Please Mark This As Answer if it solved your issue
    Please Vote This As Helpful if it helps to solve your issue
    Visakh
    My Wiki User Page
    My MSDN Page
    My Personal Blog
    My Facebook Page

  • How to get Client IP address in oracle apps. Are there any API's.

    hi,
    I have one query
    ->How to get Client IP address in oracle apps. Are there any API's.
    regards,
    krishna

    Hi,
    this is very usefull
    however are this data stored on the db or is only a temporary view?
    I would like to have to keep track of all client connected.
    Thanx a lot

  • Examples of creating Page Def and Data Bindings programmatically by API

    We are trying to find any examples creating Page Def and Data Bindings programmatically by API. We are working on a new project in which we need to generate Page Def and Data Bindings dynamically by API.

    Hi,
    I am not aware of such an API
    Frank

  • When i rip a cd I only get 1min19secs on the 1st song and the rest says not avail.

    when I rip a cd I only get 1min19secs of the 1st song and the rest of the songs sats that its not avail.

    "Message" usually means a text message.  I suspect you mean email messages.  If so, and the email account you use is IMAP, then you can't delete an email on a device but not on the server - that's the way all IMAP services work.  If the account is POP, and if the email service provides this, then there should be a setting in your email settings for that account to NOT delete from the server.
    If you really mean a text message, then how it works is designed by your carrier.

  • HTTP 414 Status code for POST messages greater than 4096 bytes.

    Hello,
    I am using Sun One 6.0 sp2 and Weblogic 6.1 sp3 for my application. All the requests
    are being sent to the Weblogic server using the NSAPI plug-in.
    For all POST messages with size greater than 4096 bytes, I am getting a HTTP Status
    Code 414.
    I have set the MaxPOSTSize to 10240 both on the Weblogic server side, but it still
    gives same error.
    Can someone please guide me as to how to enable processing of POST messages greater
    than 4096 bytes ?
    Thank You.
    Sanjay.

    Hi, I am trying to PUT to update contact info and I get following error:
    2015-01-16 11:00:17,970 INFO [main] oracle.eloqua.connector.eloqua.EloquaConnector.putWithBasicAuth(97) | accessHttpsPut.url=https://secure.eloqua.com/API/REST/2.0//data/contact/7606838, text={"id":"7606838","accountName":"openIdStr001","emailAddress":"[email protected]","type":"Contact"}
    2015-01-16 11:00:18,931 ERROR [main] oracle.eloqua.connector.eloqua.EloquaConnector.putWithBasicAuth(140) | ClientProtocolException
    org.apache.http.client.HttpResponseException: Request is malformed.
    Is there any idea?
    Thanks so much.
    Sincerely.

  • How to Implement HTTP Request Status Code Processing

    I actually have two questions. First, I wondering how to add multiple status code processing to an http request. Secondly, I was wondering how to go about using alternate http requests to different servers in case the primary server is down. What kind of parameter would the program use to determine that the server is unavailable and switch to another server??
    Currently, the program I've written calls an rdf server (http://www.rdfabout.com/sparql) using a sparql query,
    the server returns an xml string, the program parses it, and calculates numbers
    from the string. The program works, but the problem is that the server is down occasionally.
    When the server is down, we need to add calls to another server to
    increase reliability. So, the next task is to call this server:
    http://www.melissadata.com/lookups/ZipDemo2000.asp
    I need to do exactly the same things I did with the rdf server. The
    difference will be constructing a request and a bit different parsing of
    the response.
    current SPARQL query is defined as follows:
    PREFIX dc:  <http://purl.org/dc/elements/1.1/>
    PREFIX census: <http://www.rdfabout.com/rdf/schema/census/>
    PREFIX census1: <tag:govshare.info,2005:rdf/census/details/100pct/>
    DESCRIBE ?table WHERE {
    <http://www.rdfabout.com/rdf/usgov/geo/census/zcta/90292> census:details
    ?details .
    ?details census1:totalPopulation ?table .
    ?table dc:title "SEX BY AGE (P012001)" .
    }current HTTP Request is defined as follows:
    import java.net.*;
    import java.net.URL;
    import java.net.URLConnection;
    import java.io.*;
    import java.io.DataOutputStream;
    import java.io.BufferedReader;
    import java.io.StringReader;
    import java.io.InputStreamReader;
    import java.io.PrintStream;
    import java.util.Scanner;
    import java.util.regex.Matcher;
    import java.util.regex.Pattern;
    import java.util.Arrays; 
    public class MyConnection
         static Scanner sc = new Scanner(System.in);//allows user to input zipcode
        public static void main(String[] args) throws Exception
             int zip;//zipcode is declared as integer format
            //User defines zip through input
            //proceed to put SPARQL query into string, which is then used to call the server
            String requestPart1 =
            "query=PREFIX+dc%3A++%3Chttp%3A%2F%2Fpurl.org%2Fdc%2Felements%2F1.1%2F%3E+%0D%0APREFIX+census%3A+%3Chttp%3A%2F%2Fwww.rdfabout.com%2Frdf%2Fschema%2Fcensus%2F%3E+%0D%0APREFIX+census1%3A+%3Ctag%3Agovshare.info%2C2005%3Ardf%2Fcensus%2Fdetails%2F100pct%2F%3E+%0D%0A%0D%0ADESCRIBE+%3Ftable+WHERE+%7B+%0D%0A+%3Chttp%3A%2F%2Fwww.rdfabout.com%2Frdf%2Fusgov%2Fgeo%2Fcensus%2Fzcta%2F";
            String requestPart2 = "" + zip; // zipcode is transformed from int to string format and plugged into SPARQL query here
            String requestPart3 =
            "%3E+census%3Adetails+%3Fdetails+.+%0D%0A+%3Fdetails+census1%3AtotalPopulation+%3Ftable+.+%0D%0A+%3Ftable+dc%3Atitle+%22SEX+BY+AGE+%28P012001%29%22+.+%0D%0A%7D%0D%0A&outputMimeType=text%2Fxml";
            String response = "";
            URL url = new URL("http://www.rdfabout.com/sparql");//designates server to connect to
            URLConnection conn = url.openConnection();//opens connection to server
            // Set connection parameters.
            conn.setDoInput (true);
            conn.setDoOutput (true);
            conn.setUseCaches (false);
            // Make server believe we are form data…
            conn.setRequestProperty("Content-Type","application/x-www-form-urlencoded");
            DataOutputStream out = new DataOutputStream (conn.getOutputStream ());
            // Write out the bytes of the content string to the stream.
            out.writeBytes(requestPart1 + requestPart2 + requestPart3);
            out.flush ();
            out.close ();
            // Read response from the input stream.
            BufferedReader in = new BufferedReader (new InputStreamReader(conn.getInputStream ()));
            String temp;
            while ((temp = in.readLine()) != null)
                 response += temp + "\n";
            temp = null;
            in.close ();
            //parsing stuff is taken care of after here
    }What remains now is to:
    1) add status code processing: notify if the server is not available, ect.
    2) add ability to connect to additional server if primary server is down.
    I'm thinking an if/else statement, which I've tried a few different ways,
    but I don't quite know how to implement that...Also trying to add the
    status code processing/error handling, but I'm not sure how to do that
    for multiple/different errors, such as 404, 503, 504, ect.. try/catch statements?
    So yeah, just been scratching my head on this trying to figure out how to work it..
    If you can help me out on this, I've been going nuts trying to figure this out...

    I think your issue comes form the fact that you are not casting URLConnection to HttpURLConnection.
    Doing the cast would allow you to use getResponseCode() - among other methods - and test for a response different than 200.
    Read: [http://mindprod.com/jgloss/urlconnection.html|http://mindprod.com/jgloss/urlconnection.html]

  • Does the new command 2 binary format work with Apple Push Notification Service? I receive an invalid response status code of 128.

    Does the new command 2 binary format work with Apple Push Notification Service? I am sending 2 messages with the same payload to 2 different devices. None of the messages display on either of the devices. It seems that at least 3 should have been displayed. For my first device, I received a response with an invalid status code of 128 and the message identifier is 2 indicating that the first message was OK. However no message was displayed on the phone. For the second device, I did not receive any error response, but no message was displayed on the device.
    Does ANS perform any validation on the message identifier? The Local and Push Notification Programmin Guide says the message identifier is:
    An arbitrary, opaque value that identifies this notification. This identifier is used for reporting errors to your server.
    I know that the device tokens are valid because the same tokens work when I use the legacy basic or enhanced formats. The phones display the messages correctly when I send to ANS using the old ANS message format.
    Here is the data and the response:
    Sent to ANS: 2 0 0 0 158 1 0 32 120 107 166 143 171 157 143 169 70 135 12 135 246 142 64 224 244 44 116 4 154 65 115 192 206 28 189 56 174 0 172 16 2 0 23 123 34 97 112 115 34 58 123 34 97 108 101 114 116 34 58 34 65 66 67 34 125 125 3 0 4 0 0 0 2 4 0 4 83 7 119 141 5 0 1 5 1 0 32 120 107 166 143 171 157 143 169 70 135 12 135 246 142 64 224 244 44 116 4 154 65 115 192 206 28 189 56 174 0 172 16 2 0 23 123 34 97 112 115 34 58 123 34 97 108 101 114 116 34 58 34 65 66 67 34 125 125 3 0 4 0 0 0 3 4 0 4 83 7 119 141 5 0 1 5
    ANS returned an error: 8 128 0 0 0 2
    Sent to ANS: 2 0 0 0 158 1 0 32 4 239 182 26 13 237 170 136 41 243 181 57 120 208 135 19 101 102 212 70 55 244 251 255 160 125 82 9 10 143 72 17 2 0 23 123 34 97 112 115 34 58 123 34 97 108 101 114 116 34 58 34 65 66 67 34 125 125 3 0 4 0 0 0 5 4 0 4 83 7 119 147 5 0 1 5 1 0 32 4 239 182 26 13 237 170 136 41 243 181 57 120 208 135 19 101 102 212 70 55 244 251 255 160 125 82 9 10 143 72 17 2 0 23 123 34 97 112 115 34 58 123 34 97 108 101 114 116 34 58 34 65 66 67 34 125 125 3 0 4 0 0 0 6 4 0 4 83 7 119 147 5 0 1 5
    ANS did not return a response.

    Hello, can you please help me ?
    You specified sample payload here:
    TerrellFromLockhart wrote:
    I finally got this to work. The picture in the Programming Guide is very confusing. The solution was to prefix every message's frame data with command 2 and that messsage's frame data length. Here is a sample:
    ANS frame: 2 0 0 0 77 1 0 32 120 107 166 143 171 157 143 169 70 135 12 135 246 142 64 224 244 44 116 4 154 65 115 192 206 28 189 56 174 0 172 16 2 0 21 123 34 97 112 115 34 58 123 34 97 108 101 114 116 34 58 34 63 34 125 125 3 0 4 0 0 0 2 4 0 4 83 7 199 195 5 0 1 10 2 0 0 0 77 1 0 32 120 107 166 143 171 157 143 169 70 135 12 135 246 142 64 224 244 44 116 4 154 65 115 192 206 28 189 56 174 0 172 16 2 0 21 123 34 97 112 115 34 58 123 34 97 108 101 114 116 34 58 34 63 34 125 125 3 0 4 0 0 0 3 4 0 4 83 7 199 195 5 0 1 10 2 0 0 0 77 1 0 32 120 107 166 143 171 157 143 169 70 135 12 135 246 142 64 224 244 44 116 4 154 65 115 192 206 28 189 56 174 0 172 16 2 0 21 123 34 97 112 115 34 58 123 34 97 108 101 114 116 34 58 34 63 34 125 125 3 0 4 0 0 0 4 4 0 4 83 7 199 195 5 0 1 10
    About to read response at Thu Feb 20 15:40:20 CST 2014
    SocketTimeoutException
    2 - is clearly command
    0 0 0 77 - frame length
    1 - item Id
    what's 0 32 ? According to this page https://developer.apple.com/library/ios/documentation/NetworkingInternet/Concept ual/RemoteNotificationsPG/Chapters/Commu…
    Item id  should be followed by item length. But item length is obviously greater than 32 because device token's length is 32. Can you please explain why 0 32 were used? and do you have any insight on item id meaning ?

Maybe you are looking for