2011-10-20 4 views
0
という名前のAPIモジュールを見つけられませんでした

私はケースがあります:API foフォーラムエンジンIP.Boardによるフォーラムで作業してください。XMLRPC IP.Boardは

だから私は、次のコードを書いた:

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"でなければなりません。 理論的には、他のモジュールを作ることができますが、 "ipb"はすべて がIP.Boardに同梱されています。

私は間違いを犯しています。

また、どのようにmethods.phpファイルを取得できますか?

私はURL http://hbf.by/interface/board/modules/ipb/methods.php

を書くしかし、空白のページを取得します。

しかし、また、ドキュメントにサイード:

オープンインターフェース/ボード/モジュール/ IPB/methods.phpファイルの各メソッドが受け取ることを期待して 応答

に送り返すれる パラメータを確認します

サーバーの設定が必要な場合もありますが、インターネットでは見つけられません。

答えて

1

あなたのコードはドキュメントと一致するようです。

しかし、XMLRPCは、多くの場合、あなたはそれを試みることができるこの

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

のような呼び出しでモジュールを指定します。

+0

だ= client.execute( "ipb.fetchOnlineUsers"、のparams) ; とObject result = client.execute( "API_Server.fetchOnlineUsers"、params); –

+0

また、私はファイルphpを作成し、次に試してみます:1.私は私のPHPファイルにURLを変更します。なぜなら、クライアントはサーバーにデータを送信するのでしょうか? –

0

トラブル

で、オブジェクト[] paramsは=新しいオブジェクト[] { "74600b5f2d157"、 "IPB"、 " ''"}を使用していない場合私が見つかりました。

代わり

のHashMap、次いで

オブジェクト結果= client.execute(「IPBを使用します。fetchOnlineUsers」、新しいオブジェクト[] {HMAP});。

それは仕事が正しくありません、それは私を助け を私は オブジェクトの結果をしようとしないのです

関連する問題