问题标签 [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.

0 投票
1 回答
734 浏览

client - Apache Abdera 客户端 - 发布/放置

寻求使用 Apache Abdera Atom 客户端的帮助。我正在尝试将文件发布并放入提要,但我收到 400 错误,提示内容类型必须是application/x-www-form-urlencodedmultipart/form-data

0 投票
1 回答
627 浏览

java - 为什么 google api 客户端库不建立在 Apache 的 Abdera 框架之上?

首先,我要非常感谢 Google GData API 的工程师所做的出色工作,我想提一下,这个问题并不是要批评任何事情。它只是指出一些事情。

有人可以向我解释一下吗?据我所知,java 的 google api 客户端库的开发人员正在重新发明轮子。这就像为 Java 项目编写新的 JDK,因为 abdera 客户端执行 google api 客户端库所做的工作,并且 abdera 服务器功能和适配器也可以用于许多事情,例如条目持久性和许多其他事情。

我知道 google data 协议是一个有点特定的 atom 发布,但是如果需要使用 Apache Abdera 项目为此协议提供的一些花哨的扩展和功能,最好不要使用 google api 客户端库并使用 Abdera 从头开始​​实现客户端...而且我确信在很多情况下,它的功能(例如 Abdera 的 JCR 适配器)对于谷歌文档、谷歌翻译工具包以及大多数其他工具包来说都非常方便。

现在很高兴有一个 google api 客户端库可用于 google 文档,但是我将如何处理文档和 atom 提要响应?我相信在超过一半的情况下,另一边还有一个存储库或数据库。在这种情况下,需要 abdera,而不是仅编组/解组提要的简单 google api 客户端......

事实上,所有的谷歌 API 都有一些东西要坚持。如果谷歌决定将精力投入到 Abdera 的增强或集成上,这将是有道理的……这不是……尤其是考虑到软件开发中一个众所周知的事实,第二个版本通常是从头开始重写的。Apache Abdera 是一个成熟的项目,已经存在 5 年,被大量应用程序使用。

如果有原因,我没有看到并且只使用拉解析器来实现客户端是非常必要的,我至少会使用一个不被弃用的 xml 拉解析器。Xmlpull.org 已有 6 年历史,但处于非活动状态,甚至没有实现 StAX api。stax.codehaus.org 参考实现,JRE 默认 stax 实现,Apache Axiom 实现和主要的 woodstox.codehaus.org 实现会更好,为什么要避免规范和有支持和社区的活动项目?

对于这个批评,我向 google api 客户端 java 库的开发人员道歉,但我真的很喜欢 google api,但是使用这个客户端的第一个版本真的很痛苦,当前版本很好。但是实际上浪费了很多时间,这主要是由于重新发明轮子以及从版本 0 通过 gdata-java-client 到 google-api-client-java 的极端版本​​间更改。

最后,在人们投入时间和金钱之后,谷歌对 API 进行了限制,所以为什么要关心,对吧?:-)

我收回我所说的话,从那时起软件和协议发生了很大变化......现在当 GData 也支持 JSON 时,使用它甚至没有意义!

0 投票
1 回答
1871 浏览

http - Apache Abdera 的分块传输编码问题

我正在使用 Apache Abdera 将 atom 多部分数据发布到我的服务器,并且遇到了一些我无法确定的奇怪问题。

这看起来像是分块传输编码的问题,但我没有足够的经验来确定。问题表现为服务器抛出错误,表明我发送的请求仅包含一个 mime 部分,而不是所需的两个部分。我将 Wireshark 附加到界面并捕获了对话,它是这样的:

服务器的响应:

我的客户继续说:

此时服务器响应:

指示错误(这很好理解)。我的服务器继续将一堆 base64 编码位流式传输到输出流中,但与此同时,服务器没有在监听,它已经确定请求是错误的。

不幸的是,我不负责 HTTP 层——这一切都由 Abdera 使用 Apache httpclient 处理。我的代码如下所示:

在这里,SWORDMultipartRequestEntity 是标准 Abdera MultipartRequestEntity 类的副本,其中包含一些额外的标头(例如,请参见上面代码段中的 Packaging);“存款”参数只是一个包含原子部分和输入流的对象。

附加调试器时,我可以很好地执行这行代码,然后它消失在老鼠洞中,然后我又得到了这个错误。

任何提示或提示?我几乎用尽了我的攻击角度!

对我来说唯一突出的是,在 atom:entry 文档之后,只有一个带有“0”的换行符,这似乎是分块传输编码,代表“我完成了”。不知道它是如何到达那里的,或者它是否真的有任何影响。非常感谢帮助。

干杯,

理查德

0 投票
0 回答
1802 浏览

java - 从 apache HttpClient 读取关闭的流错误

我正在尝试解析来自 Apache HttpClient (3.1) 响应的响应,如下所示:

在使用原子解析器解析响应时,这给了我以下异常。

finally 块实际上关闭了连接。什么可能导致此关闭流错误?

0 投票
1 回答
2123 浏览

httpclient - Apache Abdera 客户端提供 NTLM 没有可用的凭据@proxy.tcs.com:8080

我已经看过很多论坛帖子并尝试了一些建议,但我仍然无法解决这个问题。该代码在我的家庭系统中运行良好,但在组织防火墙后面它给出了一条异常消息:

没有可用于 NTLM @proxy.tcs.com:8080 的凭据

这是我正在使用的方法

这是我得到的异常日志

org.apache.commons.httpclient.auth.AuthChallengeProcessor selectAuthScheme INFO: ntlm authentication scheme selected Jul 6, 2012 10:42:03 AM org.apache.commons.httpclient.HttpMethodDirector processProxyAuthChallenge INFO: No credentials available for NTLM @orgProxyHost:8080 Exception在 org.apache.abdera.protocol.client.AbderaClient.execute(AbderaClient.java:692 的 org.apache.abdera.protocol.client.CommonsResponse.(CommonsResponse.java:44) 的线程“主”java.lang.IllegalStateException ) 在 org.apache.abdera.protocol.client.AbderaClient.get(AbderaClient.java:216) 在 org.apache.abdera.protocol.client.AbderaClient.get(AbderaClient.java:404) 在 IBMConnectionMessages_ForumPractice.UseAbdera(IBMConnectionMessages_ForumPractice. java:231) 在 IBMConnectionMessages_ForumPractice。主要(IBMConnectionMessages_ForumPractice.java:45)

请帮忙,我花了半天时间。

0 投票
1 回答
1182 浏览

java - Apache Abdera 客户端 POST 未发布到 IBM Connections API

我有一个 Web 服务,它使用 Apache Abdera lib 与我们的 IBM Connections 4 服务器的 REST API 进行通信。

我遇到的问题是我的请求不起作用。当我说它不起作用时,我的意思是我所有的 GET 操作都可以正常返回我所追求的数据,但是我尝试实现的第一个 POST 操作失败了。我的 ClientResponse 对象返回类型“REDIRECTION”和 StatusText“found”。我的数据没有更新连接。

请注意,由于跨域限制,我从 JSONP AJAX 调用中调用此服务。(此 Web 服务与我们的连接环境位于同一服务器和域上)

这是我的代码:(PS我是一个java菜鸟,试图在微博上发布一个连接状态更新的小条目)

这是我的 Ajax 调用中的 console.log() :

0 投票
1 回答
217 浏览

java - 避免在 Apache Abdera 中进行字符编码

我正在编写一个简单的文章编辑器,它将与 CMS 系统一起使用,该系统提供 Atom API 来添加/编辑文章。为了与 CMS 通信,我使用了 Apache Abdera 库。但是我遇到了字符编码的问题。发送到 CMS 的数据将被编码如下:

但是 CMS 系统需要这个:

换句话说,没有字符转义。有谁知道如何使用 Apache Abdera 来实现这一点?

0 投票
1 回答
160 浏览

atom-feed - 在opensearch中的特定元素中使用搜索词查询?

刚从 Opensearch 开始,从荷兰的 National Archief 检索内容。

他们提供的例子是:

我的问题是,如何在特定元素中搜索“阿纳姆”?例如,我只想获取“dc:subject”元素中包含“Arnhem”的文档:

并且由于我使用Abdera作为 Java 客户端,任何关于哪个辅助方法将有助于构建此类查询的指针也将不胜感激。

0 投票
0 回答
37 浏览

java - 使用 AbderaClient 检索超过 19 个结果?(我猜是分页问题)

在浏览器中手动查询得到1305个结果: http ://www.gahetna.nl/beeldbank-api/opensearch/?q=Leiden

但是我的 Abdera 代码(如下)只返回 19 个结果。这一定是由于分页。如何访问结果的所有页面?谢谢!

0 投票
1 回答
247 浏览

apache-abdera - Abdera 解析器:如何访问具有不同名称空间的元素

假设我有一个这样的 Atom 条目:

如果我将条目加载到 Apache Abdera,我会得到一个不错的org.apache.abdera.model.Entry实例。我现在可以使用 getter 方便地访问所有标准 Atom 元素。

但是我将如何42custom:solution元素中读取值?