我需要使用我的Google AppEngine Java應用程序對UPC數據庫(www.upcdatabase.com)進行標準的XML-RPC調用。GAE - 如何進行XML-RPC調用?
我發現了很多關於在GAE中合併XML-RPC的信息,但找不到有關如何從 GAE撥打電話的任何信息。
任何幫助或例子,將不勝感激?
我需要使用我的Google AppEngine Java應用程序對UPC數據庫(www.upcdatabase.com)進行標準的XML-RPC調用。GAE - 如何進行XML-RPC調用?
我發現了很多關於在GAE中合併XML-RPC的信息,但找不到有關如何從 GAE撥打電話的任何信息。
任何幫助或例子,將不勝感激?
那麼什麼你知道....
我做了以下使用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時不允許設置User-Agent。這是固定的(見http://googleappengine.blogspot.com/2009/04/sdk-version-121-released.html),儘管如此實施這應該更容易。
是不是Python? – 2012-02-05 03:42:52
我經歷了那個......沒有真正從它得到任何東西......我只是手動製作XML,並通過UrlFetch使用標準的Java.NET POST ......該帖子似乎正在經歷罰款但XML仍然是一個痛苦... – 2012-02-05 15:29:39