【发布时间】:2012-02-27 03:15:06
【问题描述】:
我需要使用我的 Google AppEngine Java 应用程序对 UPC 数据库 (www.upcdatabase.com) 进行标准 XML-RPC 调用。
我找到了很多关于在 GAE 中整合 XML-RPC 的信息,但找不到关于如何从 GAE 进行调用的任何信息。
任何帮助或示例将不胜感激?
【问题讨论】:
标签: java google-app-engine xml-rpc
我需要使用我的 Google AppEngine Java 应用程序对 UPC 数据库 (www.upcdatabase.com) 进行标准 XML-RPC 调用。
我找到了很多关于在 GAE 中整合 XML-RPC 的信息,但找不到关于如何从 GAE 进行调用的任何信息。
任何帮助或示例将不胜感激?
【问题讨论】:
标签: java google-app-engine xml-rpc
你知道什么......
我使用Redstone XMLRPC 库执行了以下操作,它可以工作。完全没有想到使用 URLFetch。
XmlRpcClient client = new XmlRpcClient("http://www.upcdatabase.com/xmlrpc", false);
Map<String, String> params = new HashMap<String, String>();
params.put("rpc_key", rpc_key);
params.put("ean",upc);
HashMap<?,?> token = null;
try {
token = (HashMap<?, ?>) client.invoke( "lookup", new Object[] { params } );
} catch (XmlRpcException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (XmlRpcFault e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
不太清楚它为什么起作用,希望得到解释。
【讨论】:
这是一篇关于如何做到这一点的好文章:http://brizzled.clapper.org/blog/2008/08/25/making-xmlrpc-calls-from-a-google-app-engine-application/
编辑:对不起,我错过了你专门询问 Java 的问题。不过,这两种语言的基本思想是相同的:发出 UrlFetch 请求。
这是我发现的另一篇博客讨论:http://blog.techstacks.com/2010/01/xmlrpc-with-gae-java.html - 这个使用 HTTPBuilder 因为在编写它时 UrlFetch 不允许设置用户代理。这已得到修复(请参阅 http://googleappengine.blogspot.com/2009/04/sdk-version-121-released.html),因此实现它应该更容易。
【讨论】: