【问题标题】:GAE - How to make an XML-RPC call?GAE - 如何进行 XML-RPC 调用?
【发布时间】: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


    【解决方案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();
        }
    

    不太清楚它为什么起作用,希望得到解释。

    【讨论】:

      【解决方案2】:

      这是一篇关于如何做到这一点的好文章: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),因此实现它应该更容易。

      【讨论】:

      • 我经历了那个......并没有真正从中得到任何东西......我只是手动制作XML并通过UrlFetch使用标准Java.NET POST......帖子似乎进展顺利,但 XML 仍然很痛苦......
      猜你喜欢
      • 1970-01-01
      • 2010-10-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-24
      • 1970-01-01
      相关资源
      最近更新 更多