|
¤³¤ÎWiki¤ò¹¹¿·¤·¤¿¤È¤¤Ë¡¢¼«Æ°Åª¤ËPing¥µ¡¼¥Ð¤ËPing¤òÂǤäƤ¯¤ì¤ë¥×¥í¥°¥é¥à¤ò½ñ¤¤¿¤¯¤Æ¡¢XML-RPC¤ò¤Á¤ç¤Ã¤ÈÄ´¤Ù¤Æ¤ß¤Þ¤·¤¿¡£XML-RPC¤È¤ÏHTTP·Ðͳ¤ÇXML¤ò¤ä¤ê¤È¤ê¤·¤Æ¡¢¥ê¥â¡¼¥È¥×¥í¥·¡¼¥¸¥ã¥³¡¼¥ë¤ò¼Â¸½¤¹¤ë¥â¥Î¤ß¤¿¤¤¤Ç¤¹¡£ Java¤ÇXML-RPC¤ò»È¤¦¤Ë¤Ï¡¢Apache XML-RPC¤ò»È¤¦¤Î¤¬¤è¤¤¤è¤¦¤Ç¤¹¡£¤³¤ì¤ò»È¤¦¤³¤È¤Ç¡¢¤á¤ó¤É¤¯¤µ¤¤XML¤òÁȤßΩ¤Æ¤ë¤³¤È¤Ê¤·¤Ë¡¢¥µ¡¼¥Ð¦¤Î¥×¥í¥°¥é¥à¤ò¸Æ¤Ó½Ð¤¹¤³¤È¤¬¤Ç¤¤Þ¤¹¡£³Ú¤Ç¤¹¡£ º£²ó¥µ¥ó¥×¥ë¤ò½ñ¤¤¤Æ¤ß¤Þ¤·¤¿¤¬¡¢°Ê²¼¤Î¥â¥¸¥å¡¼¥ë¤ò¥À¥¦¥ó¥í¡¼¥É¤·¤Þ¤·¤¿¡£
ÍÑ¸ì †
¤¢¤ë¥µ¡¼¥Ð¤Î¥µ¡¼¥Ó¥¹(¥ê¥â¡¼¥È¥×¥í¥·¡¼¥¸¥ã¥³¡¼¥ë)¤ò¸Æ¤Ó½Ð¤¹¤Ë¤Ï¡¢
¤Æ¤«¤ó¤¸¤Ç¤¹¤Í¡£¥µ¥ó¥×¥ë¤Ï°Ê²¼¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£ ¥µ¥ó¥×¥ë †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(PingClient.class);
String endpointURL = "http://localhost:8080/PingWeb/PingReceiver";
// String endpointURL = "http://ping.cocolog-nifty.com/xmlrpc";
/**
* 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");
}
}
¤³¤ì¤À¤±¤Ç´Êñ¤Ë¥µ¡¼¥Ð¤Î¥µ¡¼¥Ó¥¹¤ò¸Æ¤Ó½Ð¤¹¤³¤È¤¬¤Ç¤¤Þ¤¹¡£SOAP¤È¤«¤ÈÈæ³Ó¤·¤Æ¤ß¤ë¤È¡¢³Î¤«¤Ëñ½ã¤Ç¤¹¡£¤Ç¤âWSDL¤ß¤¿¤¤¤ÊI/F¤òÄêµÁ¤¹¤ë¤ä¤êÊý¡¢¤Ä¤Þ¤ê¥µ¡¼¥Ó¥¹¤¬¤É¤Î¤è¤¦¤ÊIN/OUT¤ò»ý¤Ã¤Æ¤ë¤«¤Ã¤Æ¤Î¤Ï¤É¤³¤ÇÄêµÁ¤¹¤ë¤ó¤Ç¤·¤ç¤¦¤«¡£I/F»ÅÍͽñ¤ò¸«¤Ê¤µ¤¤¤Ã¤Æ»ö¤Ç¤·¤ç¤¦¤«¡©¡© ¤Á¤Ê¤ß¤Ë¡¢¼ÂºÝ¤Ë client.doPing("¤¤Î¤µ¤¤¤È", "http://www.masatom.in/pukiwiki/");
¤ÈÅꤲ¤Æ¤ß¤¿¤È¤³¤í¡¢°Ê²¼¤Îhttp¥ê¥¯¥¨¥¹¥È¤¬POST¤µ¤ì¤Þ¤·¤¿¡£ <?xml version="1.0"?>
<methodCall>
<methodName>weblogUpdates.ping</methodName>
<params>
<param><value>きのさいと</value></param>
<param><value>http://www.masatom.in/pukiwiki/</value></param>
</params>
</methodCall>
¥ê¥ó¥¯½¸ †
¤³¤Îµ»ö¤Ï ¸½ºß¤Î¥¢¥¯¥»¥¹:5410 |