XML/XML-RPC
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
// 下階層用テンプレート
#topicpath
----
//ここにコンテンツを記述します。
このWikiを更新したときに、自動的にPingサーバにPingを打っ...
JavaでXML-RPCを使うには、[[Apache XML-RPC:http://ws.apach...
今回サンプルを書いてみましたが、以下のモジュールをダウン...
-commons-codec-1.3.tar.gz
-xmlrpc-current.tar.gz
***用語 [#qbb0916c]
:エンドポイント|クライアントのリクエストを受け付けるURLで...
:メソッド名|エンドポイントに定義されたメソッド名です。エ...
あるサーバのサービス(リモートプロシージャコール)を呼び出...
-エンドポイントを指定して
-(パラメタと一緒に)メソッド名を呼び出す
てかんじですね。サンプルは以下のようになります。
***サンプル [#o1b3cdef]
package nu.mine.kino.servlets.ping;
import java.io.IOException;
import java.net.MalformedURLException;
import java.util.Enumeration;
import java.util.Hashtable;
import java.util.Vector;
import org.apache.log4j.BasicConfigurator;
import org.apache.log4j.Logger;
import org.apache.xmlrpc.XmlRpc;
import org.apache.xmlrpc.XmlRpcClient;
import org.apache.xmlrpc.XmlRpcException;
/**
* PingサーバにweblogUpdates.pingを打つクライアントです。
*
* @author Masatomi KINO
* @version $Revision: 1.2 $
*/
public class PingClient {
/**
* Logger for this class
*/
private static final Logger logger = Logger.getLogger(...
String endpointURL = "http://localhost:8080/PingWeb/Pi...
// String endpointURL = "http://ping.cocolog-nifty....
/**
* PingサーバにPingを打ちます。
*
* @param weblogname
* Blogの名前
* @param weblogurl
* BlogのURL
*/
public void doPing(String weblogname, String weblogurl...
logger.debug("doPing(String, String) - start");
Vector parameterList = new Vector();
parameterList.addElement(weblogname);
parameterList.addElement(weblogurl);
try {
XmlRpcClient client = null;
XmlRpc.setEncoding("UTF-8");
client = new XmlRpcClient(endpointURL);
//さっきのエンドポイントの、weblogUpdates.ping と...
//をコールする。パラメタはVectorに格納。
Hashtable response = (Hashtable) client.execute(
"weblogUpdates.ping", parameterList);
if (response == null) {
System.out.println("No Result Back from execute");
} else {
Enumeration e = response.keys();
while (e.hasMoreElements()) {
Object key = e.nextElement();
System.out.println("KEY=" + key + " : VALUE="
+ response.get(key));
}
}
} catch (MalformedURLException e1) {
logger.error("doPing(String, String)", e1);
} catch (XmlRpcException e) {
logger.error("doPing(String, String)", e);
} catch (IOException e) {
logger.error("doPing(String, String)", e);
}
logger.debug("doPing(String, String) - end");
}
public static void main(String[] args) {
BasicConfigurator.configure();
PingClient client = new PingClient();
client.doPing("なまえ", "URL");
}
}
これだけで簡単にサーバのサービスを呼び出すことができます...
ちなみに、実際に
client.doPing("きのさいと", "http://www.masatom.in/pukiw...
と投げてみたところ、以下のhttpリクエストがPOSTされました。
<?xml version="1.0"?>
<methodCall>
<methodName>weblogUpdates.ping</methodName>
<params>
<param><value>きのさいӗ...
<param><value>http://www.masatom.in/pukiwiki/</value...
</params>
</methodCall>
***リンク集 [#v8402226]
-[[XML-RPC仕様書:http://lowlife.jp/yasusii/stories/9.html]]
-[[weblogUpdates.pingのI/F仕様:http://www.xmlrpc.com/webl...
-[[weblogの更新通知 PingサービスをJava Servletで実装:http...
-[[ブログ情報伝達を加速するトラックバック、ping (2/5):htt...
-[[第1作目(04/08/02) 「Rss Ping」アプリケーション:http://fu...
-[[Weblogs.com Ping Gateway to はてなアンテナ:http://blog...
-[[Apache XML-RPCプログラミング:http://kumiki.c.u-tokyo.a...
----
この記事は
#vote(おもしろかった[6],そうでもない[1])
#comment
#topicpath
SIZE(10){現在のアクセス:&counter;}
終了行:
// 下階層用テンプレート
#topicpath
----
//ここにコンテンツを記述します。
このWikiを更新したときに、自動的にPingサーバにPingを打っ...
JavaでXML-RPCを使うには、[[Apache XML-RPC:http://ws.apach...
今回サンプルを書いてみましたが、以下のモジュールをダウン...
-commons-codec-1.3.tar.gz
-xmlrpc-current.tar.gz
***用語 [#qbb0916c]
:エンドポイント|クライアントのリクエストを受け付けるURLで...
:メソッド名|エンドポイントに定義されたメソッド名です。エ...
あるサーバのサービス(リモートプロシージャコール)を呼び出...
-エンドポイントを指定して
-(パラメタと一緒に)メソッド名を呼び出す
てかんじですね。サンプルは以下のようになります。
***サンプル [#o1b3cdef]
package nu.mine.kino.servlets.ping;
import java.io.IOException;
import java.net.MalformedURLException;
import java.util.Enumeration;
import java.util.Hashtable;
import java.util.Vector;
import org.apache.log4j.BasicConfigurator;
import org.apache.log4j.Logger;
import org.apache.xmlrpc.XmlRpc;
import org.apache.xmlrpc.XmlRpcClient;
import org.apache.xmlrpc.XmlRpcException;
/**
* PingサーバにweblogUpdates.pingを打つクライアントです。
*
* @author Masatomi KINO
* @version $Revision: 1.2 $
*/
public class PingClient {
/**
* Logger for this class
*/
private static final Logger logger = Logger.getLogger(...
String endpointURL = "http://localhost:8080/PingWeb/Pi...
// String endpointURL = "http://ping.cocolog-nifty....
/**
* PingサーバにPingを打ちます。
*
* @param weblogname
* Blogの名前
* @param weblogurl
* BlogのURL
*/
public void doPing(String weblogname, String weblogurl...
logger.debug("doPing(String, String) - start");
Vector parameterList = new Vector();
parameterList.addElement(weblogname);
parameterList.addElement(weblogurl);
try {
XmlRpcClient client = null;
XmlRpc.setEncoding("UTF-8");
client = new XmlRpcClient(endpointURL);
//さっきのエンドポイントの、weblogUpdates.ping と...
//をコールする。パラメタはVectorに格納。
Hashtable response = (Hashtable) client.execute(
"weblogUpdates.ping", parameterList);
if (response == null) {
System.out.println("No Result Back from execute");
} else {
Enumeration e = response.keys();
while (e.hasMoreElements()) {
Object key = e.nextElement();
System.out.println("KEY=" + key + " : VALUE="
+ response.get(key));
}
}
} catch (MalformedURLException e1) {
logger.error("doPing(String, String)", e1);
} catch (XmlRpcException e) {
logger.error("doPing(String, String)", e);
} catch (IOException e) {
logger.error("doPing(String, String)", e);
}
logger.debug("doPing(String, String) - end");
}
public static void main(String[] args) {
BasicConfigurator.configure();
PingClient client = new PingClient();
client.doPing("なまえ", "URL");
}
}
これだけで簡単にサーバのサービスを呼び出すことができます...
ちなみに、実際に
client.doPing("きのさいと", "http://www.masatom.in/pukiw...
と投げてみたところ、以下のhttpリクエストがPOSTされました。
<?xml version="1.0"?>
<methodCall>
<methodName>weblogUpdates.ping</methodName>
<params>
<param><value>きのさいӗ...
<param><value>http://www.masatom.in/pukiwiki/</value...
</params>
</methodCall>
***リンク集 [#v8402226]
-[[XML-RPC仕様書:http://lowlife.jp/yasusii/stories/9.html]]
-[[weblogUpdates.pingのI/F仕様:http://www.xmlrpc.com/webl...
-[[weblogの更新通知 PingサービスをJava Servletで実装:http...
-[[ブログ情報伝達を加速するトラックバック、ping (2/5):htt...
-[[第1作目(04/08/02) 「Rss Ping」アプリケーション:http://fu...
-[[Weblogs.com Ping Gateway to はてなアンテナ:http://blog...
-[[Apache XML-RPCプログラミング:http://kumiki.c.u-tokyo.a...
----
この記事は
#vote(おもしろかった[6],そうでもない[1])
#comment
#topicpath
SIZE(10){現在のアクセス:&counter;}
ページ名: