問題タブ [apache-abdera]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
client - Apache Abdera クライアント - 投稿/投稿
Apache Abdera Atom Client の使用に関するヘルプを探しています。application/x-www-form-urlencoded
フィードにファイルを投稿して配置しようとしていますが、コンテンツ タイプがまたはである必要があるという 400 エラーが発生します。multipart/form-data
java - なぜGoogleAPIクライアントライブラリはApacheのAbderaフレームワークの上に構築されていないのですか?
まず最初に、Google GData APIのエンジニアの優れた業績に感謝します。この質問は、何も批判することを意図したものではありません。それはただ物事を指摘するだけです。
誰かが私にそれを説明してもらえますか?私が見る限り、Javaのgoogleapiクライアントライブラリの開発者は車輪を再発明しています。これは、Javaプロジェクト用の新しいJDKを作成するようなものです。これは、abderaクライアントがgoogle apiクライアントライブラリと同じように機能し、abderaサーバーの機能とアダプターをエントリの永続性などの多くの目的に使用できるためです。
グーグルデータプロトコルが少し特定のアトムパブリッシングであるという事実を知っていますが、Apache Abderaプロジェクトがこのプロトコルに提供する素晴らしい拡張機能のいくつかを使用する必要がある場合は、グーグルAPIクライアントライブラリを使用しない方が良いですそして、Abderaを使用してクライアントを最初から実装します...そして、多くの場合、AbderaのJCRアダプターなどの機能は、Googleドキュメント、Googleトランスレーターツールキット、および他のほとんどのツールにとって非常に便利になると確信しています。
これで、Googleドキュメントに使用されるGoogle APIクライアントライブラリがあるのは素晴らしいことですが、ドキュメントとAtomフィードの応答をどうするのでしょうか。半数以上の場合、反対側にもリポジトリやデータベースがあると思います。その場合、フィードをマーシャリング/アンマーシャリングするだけの単純なgoogle apiクライアントではなく、abderaが必要です...
実際、すべてのgoogleAPIには永続的なものがあります。グーグルがアブデラの強化または統合に努力を投資することを決定した場合、それは理にかなっています...これはそうではありません...特にソフトウェア開発で非常によく知られている事実を考えると、その2番目のリリースは通常最初から書き直されます。Apache Abderaは、5年の歴史を持つ成熟したプロジェクトであり、多くのアプリで使用されています。
理由があり、プルパーサーのみを使用してクライアントを実装することが本当に必要であるという理由がある場合は、少なくとも非推奨ではないxmlプルパーサーを使用します。Xmlpull.orgは6年前のものですが、非アクティブであり、StAXAPIも実装していません。stax.codehaus.orgリファレンス実装、JREのデフォルトのstax実装、Apache Axiom実装、そして主にwoodstox.codehaus.org実装の方がはるかに優れています。なぜ、サポートとコミュニティによる仕様やアクティブなプロジェクトを回避するのでしょうか。
この批評についてグーグルAPIクライアントJavaライブラリの開発者に謝罪します、しかし私はグーグルAPIが本当に好きです、しかしこのクライアントの最初のバージョンで働くことは本当に苦い経験でした、現在のリリースは素晴らしいです。しかし、実際には多くの時間が無駄になりました。これは主に、ホイールの再発明と、バージョン0からgdata-java-clientを介したgoogle-api-client-javaへの極端なリリース間変更が原因です。
最後に、グーグルは人々がそれに時間とお金の両方を投資した後にAPIを制限します、それでなぜ気にするのですか?:-)
私が言ったことを取り戻します。それ以来、ソフトウェアとプロトコルは大幅に変更されました... GDataがJSONもサポートしている場合、それを使用することすら意味がありません。
http - Apache Abdera でのチャンク転送エンコーディングの問題
Apache Abdera を使用して Atom マルチパート データをサーバーに POST していますが、特定できない奇妙な問題がいくつかあります。
チャンク転送エンコーディングの問題のように見えますが、確かなことは経験が不十分です。この問題は、送信した要求に必要な 2 つではなく、1 つの MIME 部分しか含まれていないことを示すエラーをサーバーがスローすることで明らかになります。インターフェイスに Wireshark を接続して会話をキャプチャしたところ、次のようになりました。
サーバーの応答:
私のクライアントは続けます:
この時点で、サーバーは次のように応答します。
エラーを示す (よく理解されている)。私のサーバーは、base64 でエンコードされたビットの山を出力ストリームにストリーミングし続けますが、その間、サーバーはリッスンしていないため、要求が間違っていたと既に判断されています。
残念ながら、私は HTTP レイヤーを担当していません。これはすべて、Abdera が Apache httpclient を使用して処理します。これを行う私のコードは次のようになります。
ここで、SWORDMultipartRequestEntity は標準の Abdera MultipartRequestEntity クラスのコピーであり、追加のヘッダーがいくつかスローされています (たとえば、上記のスニペットのパッケージングを参照してください)。「預金」引数は、アトム部分と入力ストリームを保持する単なるオブジェクトです。
デバッガーを接続すると、このコード行に問題なく到達しますが、それがネズミ穴に消えて、このエラーが返されます。
ヒントやヒントはありますか?攻撃の角度をかなり使い果たしました。
私にとって際立っている唯一のことは、atom:entry ドキュメントの直後に、「0」だけの改行があることです。これは、チャンク転送エンコーディングのように見え、「終了しました」を表しています。どうやってそこにたどり着いたのか、本当に効果があるのか はわかりません。大変助かりました。
乾杯、
リチャード
java - apache HttpClient からのクローズ ストリーム エラーの読み取り
次のように、Apache HttpClient (3.1) 応答からの応答を解析しようとしています。
これにより、atom パーサーで応答を解析しているときに次の例外が発生します。
finally ブロックは実際に接続を閉じました。このクローズド ストリーム エラーの原因は何ですか?
httpclient - NTLMで使用可能なクレデンシャルがないApacheAbderaクライアント@ proxy.tcs.com:8080
私はこれについて多くのフォーラム投稿を見て、いくつかの提案を試みましたが、それでも私はこれを解決することができません。このコードは私のホームシステムではうまく機能しますが、組織のファイアウォールの背後で例外メッセージが表示されます。
NTLM @ proxy.tcs.com:8080で使用できる資格情報がありません
これが私が使っている方法です
これは私が取得する例外ログです
org.apache.commons.httpclient.auth.AuthChallengeProcessor selectAuthScheme INFO:ntlm認証スキームが選択されました2012年7月6日10:42:03 AM org.apache.commons.httpclient.HttpMethodDirector processProxyAuthChallenge INFO:NTLMに使用できる資格情報がありません@orgProxyHost:8080例外スレッド"main"java.lang.IllegalStateException at org.apache.abdera.protocol.client.CommonsResponse。(CommonsResponse.java:44)at org.apache.abdera.protocol.client.AbderaClient.execute(AbderaClient.java:692 )org.apache.abdera.protocol.client.AbderaClient.get(AbderaClient.java:216)at org.apache.abdera.protocol.client.AbderaClient.get(AbderaClient.java:404)at IBMConnectionMessages_ForumPractice.UseAbdera(IBMConnectionMessages_Forum java:231)IBMConnectionMessages_ForumPracticeで。main(IBMConnectionMessages_ForumPractice.java:45)
助けてください、私はそれに半日を費やしました。
java - Apache Abdera での文字エンコードの回避
私は、記事を追加/編集するための Atom API を提供する CMS システムで使用される単純な記事エディターの作成に取り組んでいます。CMS と通信するために、Apache Abdera ライブラリを使用しています。しかし、文字エンコーディングに問題があります。CMS に送信されるデータは、次のようにエンコードされます。
ただし、CMS システムには次のものが必要です。
つまり、文字のエスケープはありません。Apache Abdera を使用してこれを実現する方法を知っている人はいますか?
atom-feed - opensearch の特定の要素の検索語を使用してクエリを実行しますか?
Opensearch から始めて、オランダの National Archief からコンテンツを取得します。
彼らが提供する例は次のとおりです。
私の質問は、特定の要素で「アーネム」を検索する方法ですか? たとえば、「dc:subject」要素に「Arnhem」が含まれるドキュメントのみを取得したいと思います。
また、私はAbderaを Java クライアントとして使用しているため、そのようなクエリの作成にどのヘルパー メソッドが役立つかについてのポインタも歓迎します。
java - AbderaClient で 19 を超える結果を取得しますか? (ページネーションの問題だと思います)
ブラウザで手動でクエリを実行すると、1305 件の結果が得られます: http://www.gahetna.nl/beeldbank-api/opensearch/?q=Leiden
しかし、Abdera (以下) を使用した私のコードでは、19 件の結果しか返されません。これはページネーションによるものに違いありません。結果のすべてのページにアクセスするにはどうすればよいですか? どうも!
apache-abdera - Abdera パーサー: 異なる名前空間を持つ要素にアクセスする方法
次のような Atom エントリがあるとします。
エントリを Apache Abdera にロードすると、適切なorg.apache.abdera.model.Entry
インスタンスが得られます。また、getter を使用してすべての標準 Atom 要素に便利にアクセスできるようになりました。
しかし、要素42
から値を読み取るにはどうすればよいでしょうか?custom:solution