私はケースを持っています: フォーラム エンジン IP.Board の API によってフォーラムで動作します。
だから私は次のコードを書きました:
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();
}
}
}
しかし、私は例外を取得します
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) で次のように述べています。
XML-RPC 呼び出しを interface/board/index.php ファイルに送信する必要があります。すべてのパラメーターを構造体として送信する必要があります。
すべてのリクエストは 2 つのパラメータを送信する必要があります: api_key - これは以前に設定されたキーである必要があります。api_module - これは「ipb」である必要があります。理論的には、他のモジュールを作成することもできますが、IP.Board に同梱されるのは「ipb」だけです。
間違えるところ。
また、methods.php ファイルを取得するにはどうすればよいですか?
URL http://hbf.by/interface/board/modules/ipb/methods.phpを書きます
しかし、空白のページが表示されます。
しかし、ドキュメントでも次のように述べています。
interface/board/modules/ipb/methods.php ファイルを開いて、各メソッドが受け取ることを期待し、応答として送り返すパラメーターを確認します。
一部のサーバーには構成が必要な場合がありますが、インターネットでは見つかりません。