Я пытаюсь сделать запрос, чтобы получить объекты SyncStatus, которые потерпели неудачу. В API-интерфейсе API вы должны выбрать опцию меню «Состояние», чтобы проверить это и отправить запросы на https: /// sb/STATUS/v2 /, даже если ответ XML относится к нему как SyncStatus ... поэтому не действительно уверен, что это нужно назвать точно.404, запрашивающий SyncStatus ... a.k.a. Состояние
Но это не моя проблема. Моя проблема в том, что когда я отправляю запрос (подробности ниже), я получаю ошибку 404. Он отлично работает в API Explorer, с тем же самым XML в теле. Я все время звоню в API, поэтому я знаю, что моя инфраструктура работает.
Помощь?
ЗАПРОС HEADERS
Content-Length: 322
Authorization:
OAuth
oauth_consumer_key="KEY",
oauth_nonce="NONCE",
oauth_signature="SIG",
oauth_signature_method="HMAC-SHA1",
oauth_timestamp="1377117362",
oauth_token="TOKEN",
oauth_version="1.0"
Content-Type: text/xml
Host: services.intuit.com
Connection: Keep-Alive
ЗАПРОС ТЕЛА
<?xml version="1.0" encoding="UTF-8" standalone="no" ?><SyncStatusRequest ErroredObjectsOnly="true" xmlns="http://www.intuit.com/sb/cdm/v2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.intuit.com/sb/cdm/xmlrequest RestDataFilter.xsd"><OfferingId>ipp</OfferingId></SyncStatusRequest>
РЕАКЦИЯ (с некоторыми новыми линиями добавлены для читаемости)
<html><head><title>JBoss Web/2.1.12.GA-patch-03 - Error report</title><style><!--H1 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:22px;} H2 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:16px;} H3 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:14px;} BODY {font-family:Tahoma,Arial,sans-serif;color:black;background-color:white;} B {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;} P {font-family:Tahoma,Arial,sans-serif;background:white;color:black;font-size:12px;}A {color : black;}A.name {color : black;}HR {color : #525D76;}--></style> </head>
<body>
<h1>HTTP Status 404 - Null subresource for path: https://internal.services.intuit.com/sb/status/v2/725079435</h1>
<HR size="1" noshade="noshade">
<p>
<b>type</b>
Status report</p><p><b>message</b> <u>Null subresource for path: https://internal.services.intuit.com/sb/status/v2/725079435</u>
</p><p>
<b>description</b>
<u>The requested resource (Null subresource for path: https://internal.services.intuit.com/sb/status/v2/725079435) is not available.</u>
</p>
<HR size="1" noshade="noshade">
<h3>JBoss Web/2.1.12.GA-patch-03</h3>
</body></html>
EDIT: Я понял, что я использую GET вместо ПОСТ. Я установил, но теперь я получаю другую ошибку в ответе:
NEW РЕАКЦИЯ (новые линии добавлены для удобства чтения):
<?xml version="1.0" ?>
<RestResponse xmlns="http://www.intuit.com/sb/cdm/v2">
<Error RequestId="347b6e52b653439493b57db68250b61a">
<RequestName>ErrorRequest</RequestName>
<ProcessedTime>2013-08-21T21:57:50.693Z</ProcessedTime>
<ErrorCode>-2001</ErrorCode>
<ErrorDesc>Premature end of file.</ErrorDesc>
</Error>
</RestResponse>
Я НЕ должен послать либо из тех вещей, при использовании API Explorer, хотя. Посмотрите на первое сообщение, о котором упоминается Mana ниже, просто пустой тег без упоминания идентификаторов или типов вообще. Когда я запускаю этот запрос в API Explorer, он дает мне список ВСЕХ ошибок объектов, независимо от типа. Это то, что я хочу получить в своем приложении. –
Фактически, в ссылке, которую вы мне дали, в ней конкретно говорится, что я могу сделать запрос для SyncStatus с этим телом: TimeActivityQuery>, который даст мне список всех объектов с ошибками. Я что-то упускаю? –
ОК, я по-прежнему ценю ваше внимание к проблеме, мне было трудно получить какое-либо реальное разрешение проблем, которые у меня есть с API. Есть ли у вас какое-либо представление о ошибке «Преждевременный конец файла»? –