0
私はでdocumentDBにクエリを送信しています:AzureのDocumentDBのJavaのAndroid 401権限
client = new DocumentClient(END_POINT,
MASTER_KEY, ConnectionPolicy.GetDefault(),
ConsistencyLevel.Session);
FeedResponse<Document> documents = client.queryDocuments("/dbs/mydb/colls/mycoll", query, null);
と私は、サーバー
for (Document document : documents.getQueryIterable())
からの応答を読み込むしようとしたとき、私は次の例外を取得しています:
{"code":"Unauthorized","message":"The input authorization token can't serve the request. Please check that the expected payload is built as per the protocol, and check the key being used. Server used the following payload to sign: 'post\ndocs\ndbs/mydb/colls/mycoll\nsun, 12 mar 2017 08:40:40 gmt\n\n'\r\nActivityId: f40f31cf-f11c-4052-94b4-992cfdd271f5"}
リクエストヘッダ:
重要である私のの"x-ms-date" -> "Sun, 12 Mar 2017 08:40:40 GMT"
"x-ms-documentdb-isquery" -> "true"
"Accept" -> "application/json"
"Content-Type" -> "application/query+json"
"authorization" -> "type%3Dmaster%26ver%3D1.0%26sig%3DiQvTEAbWWK8pvHvr9RAqp2kjiechyPp6S5kvxT4g6Kw%3D%0A"
その他の要求値:
resourceid = mycoll
Path = /dbs/mydb/colls/mycoll/docs/
resourceType = Document
IsMedia = false
は私が
こんにちは、あなたはどのように正確にApacheの実装に切り替えましたか教えてください。私は同じ問題に直面していますが、Spring framewokに直面しています。ありがとうございました。 http://stackoverflow.com/questions/43026784/java-documentdb-unauthorized-access – miskohut
@miskohut非常に醜い方法で - ダウンローダdocumentdbのソースコードを次にapacheのbase64クラスのソースコードにコピーし、別の名前空間の下にこの方法を貼り付けコピーアンドロイドは、それを交換する。あなたはそれを試すことができますが、私はそれがdocumentdbクラスをオーバーライドしてはならないので、春のフレームワークのための大文字小文字の区別がわからないとにかく私はこのソリューションをドロップし、中間層としてアプリケーションサービスを提供するWeb APIサーバーに切り替えました。 C#の下では、何も問題なくチャームのように機能します。またここに投稿された不正な問題は、このライブラリをアンドロイドの下で動作させるための私の修正の最後のステップでした。 – Groth