使用Java发送XMLRPC请求

时间:2012-02-08 06:50:09

标签: java xml-rpc

我正在尝试通过Java发送XMLRPC请求并且不成功。这是我需要使用方法名称create.account:

发送的XMLRPC请求的结构
<createaccount>
<functioncode>bank_account</functioncode> <cardnumber>55553263654898</cardnumber>
<transaction_id>12345678</transaction_id>
<transactiondatetime>2012-01-08 14:12:22</transactiondatetime>
</createaccount>

根据客户,我应该期待以下XMLRPC响应:

<createaccount>
<code>200</code>
<message>SUCCESS</message>
<functioncode>bank_account</functioncode> 
<cardnumber>55553263654898</cardnumber>
<transaction_id>12345678</transaction_id>
<transactiondatetime>2012-01-08 14:12:22</transactiondatetime>
</createaccount>

我在java中创建了以下片段,但是我收到一条错误消息:'无法创建输入流:服务器返回HTTP响应代码:500为URL'

以下是片段:

    XmlRpcClientConfigImpl config = new XmlRpcClientConfigImpl();

        config.setServerURL(new URL(server_url));
        XmlRpcClient client = new XmlRpcClient();
        config.setBasicUserName(pUser);
        config.setBasicPassword(pPassword);
        client.setConfig(config);

        Map m = new HashMap();
        m.put("functioncode", "bank_account");
        m.put("cardnumber", "55553263654898");
        m.put("transaction_id", "12345678");
        m.put("transactiondatetime", "2012-01-08 14:12:22");

        Object[] params = new Object[]{m};
        String result = (String)client.execute("bank.account", params);
        System.out.println("Results:" + result);

我怎么能这样做?

1 个答案:

答案 0 :(得分:1)

我建议使用XML-RPC库,例如Redston XML-RPC。可以找到更多信息和教程here