首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >XMLRPC IP.Board无法找到名为

XMLRPC IP.Board无法找到名为
EN

Stack Overflow用户
提问于 2011-10-20 10:04:17
回答 2查看 952关注 0票数 0

我有一个案例:利用引擎IP.Board与论坛一起工作。

所以我写了下一段代码:

代码语言:javascript
复制
package ru.test;

import java.net.MalformedURLException;
import java.net.URL;

import org.apache.xmlrpc.XmlRpcException;
import org.apache.xmlrpc.client.XmlRpcClient;
import org.apache.xmlrpc.client.XmlRpcClientConfigImpl;

public class mainClass {

    /**
     * @param args
     */
    public static void main(String[] args) {
        XmlRpcClientConfigImpl config = new XmlRpcClientConfigImpl();
        try {
            config.setServerURL(new URL("http://hbf.by/interface/board/index.php"));
            XmlRpcClient client = new XmlRpcClient();
            client.setConfig(config);
            Object[] params = new Object[]{"74600b7376c4b1db69eaf8f155f2d157", "ipb","','"};

            Object result = client.execute("fetchOnlineUsers", params);
        } catch (MalformedURLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (XmlRpcException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

    }

}

但我有例外

代码语言:javascript
复制
org.apache.xmlrpc.XmlRpcException: IP.Board could not locate an API module called ''
    at org.apache.xmlrpc.client.XmlRpcStreamTransport.readResponse(XmlRpcStreamTransport.java:197)
    at org.apache.xmlrpc.client.XmlRpcStreamTransport.sendRequest(XmlRpcStreamTransport.java:156)
    at org.apache.xmlrpc.client.XmlRpcHttpTransport.sendRequest(XmlRpcHttpTransport.java:143)
    at org.apache.xmlrpc.client.XmlRpcSunHttpTransport.sendRequest(XmlRpcSunHttpTransport.java:69)
    at org.apache.xmlrpc.client.XmlRpcClientWorker.execute(XmlRpcClientWorker.java:56)
    at org.apache.xmlrpc.client.XmlRpcClient.execute(XmlRpcClient.java:167)
    at org.apache.xmlrpc.client.XmlRpcClient.execute(XmlRpcClient.java:137)
    at org.apache.xmlrpc.client.XmlRpcClient.execute(XmlRpcClient.java:126)
    at ru.test.mainClass.main(mainClass.java:23)

怎么了?

在文档(http://community.invisionpower.com/resources/documentation/index.html/_/developer-resources/miscellaneous-articles/xml-rpc-api-r246)中:

您应该向接口/board/index.php文件提交XML调用。您应该将所有参数作为结构发送。

每个请求都必须提交两个参数: api_key --这应该是前面设置的键。api_module -这应该是"ipb“。理论上,您可以创建其他模块,但是"ipb“是IP.Board附带的全部功能。

在我犯错的地方。

以及如何获得methods.php文件?

我写URL http://hbf.by/interface/board/modules/ipb/methods.php

但要空白页。

此外,在文件中,赛义德:

打开接口/board/modules/ipb/Methods.php文件,查看每个方法期望接收哪些参数并作为响应发送回

可能是一些服务器需要配置,但在互联网上我找不到它。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-10-20 10:30:48

您的代码似乎与文档相匹配。

但是,XMLRPC经常在调用中指定模块,如下所示

Object result = client.execute("ipb.fetchOnlineUsers", params);

你可以试试。

票数 1
EN

Stack Overflow用户

发布于 2011-10-21 10:59:11

我发现麻烦在哪里

不要使用Object[] params =新的Object[]{"74600b5f2d157","ipb","',‘};

相反,使用

HashMap然后

对象结果= client.execute("ipb.fetchOnlineUsers",新Object[] {hMap});

这是正确的工作

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7834285

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档