我需要使用我的Google AppEngine Java 应用程序对UPC数据库(www.upcdatabase.com)进行标准的XML-RPC调用。
我在GAE中找到了很多关于合并XML-RPC的信息,但是找不到任何关于如何从 GAE打电话的信息。
任何帮助或示例都会受到赞赏吗?
答案 0 :(得分:1)
嗯,你知道什么......
我使用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();
}
不太清楚为什么会这样,并且会喜欢解释。
答案 1 :(得分:0)
这是一篇关于如何做的好文章: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不允许设置User-Agent。这已得到修复(参见http://googleappengine.blogspot.com/2009/04/sdk-version-121-released.html),但实现这一点应该会容易得多。