登 录
#sudo apt-get install sun-java6-jdk sun-java6-fonts sun-java6-plugin #sudo vim /etc/environment JAVA_HOME=/usr/lib/jvm/java-6-openjdk/ PATH=/usr/share/tomcat6/lib/xmlrpc-server-3.1.3.jar:/usr/share/tomcat6/lib/xmlrpc-client-3.1.3.jar:/usr/share/tomcat6/lib/xmlrpc-common-3.1.3.jar:/usr/share/tomcat6/lib/ws-commons-util-1.0.2.jar:/usr/share/tomcat6/lib/commons-logging-1.1.jar:/usr/share/tomcat6/lib/hibernate3.jar:/usr/share/tomcat6/lib/hibernate-testing.jar:/usr/share/tomcat6/lib/postgresql-9.0-801.jdbc4.jar:/usr/share/tomcat6/lib/servlet-api.jar:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/lib/jvm/java-6-openjdk/bin/ #source /etc/environment #sudo apt-get install tomcat6 tomcat6-examples #vim Server.java
package xml; import java.io.IOException; import java.io.OutputStream; import javax.servlet.ServletConfig; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.xmlrpc.XmlRpcException; import org.apache.xmlrpc.server.PropertyHandlerMapping; import org.apache.xmlrpc.server.XmlRpcServerConfigImpl; import org.apache.xmlrpc.webserver.XmlRpcServletServer; public class Server extends HttpServlet { private XmlRpcServletServer server; public void init(ServletConfig pConfig) throws ServletException { super.init(pConfig); try { // create a new XmlRpcServletServer object server = new XmlRpcServletServer(); // set up handler mapping of XmlRpcServletServer object PropertyHandlerMapping phm = new PropertyHandlerMapping(); phm.addHandler("i",data.class); server.setHandlerMapping(phm); // more config of XmlRpcServletServer object XmlRpcServerConfigImpl serverConfig = (XmlRpcServerConfigImpl)server.getConfig(); serverConfig.setEnabledForExtensions(true); serverConfig.setContentLengthOptional(false); } catch (XmlRpcException e) { try { log("Failed to create XmlRpcServer: " + e.getMessage(), e); } catch (Throwable ignore) { } throw new ServletException(e); } } public void doPost(HttpServletRequest pRequest, HttpServletResponse pResponse) throws IOException, ServletException { server.execute(pRequest, pResponse); } } #vim data.java package xml; import java.util.*; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.ByteArrayInputStream; import sun.misc.BASE64Decoder; import sun.misc.BASE64Encoder; public class data{ public String echos(String str) { return str; } public String sayHello(String str) { return "你好:"+str; } public Object[] get(Object[] obj) { return obj; } } #javac Server.java data.java #vim Client.java package xml; import java.io.IOException; import java.net.MalformedURLException; import java.util.Vector; import java.net.URL; import javax.servlet.*; import javax.servlet.http.*; import org.apache.xmlrpc.XmlRpcException; import org.apache.xmlrpc.client.XmlRpcClient; import org.apache.xmlrpc.client.XmlRpcClientConfigImpl; public class Client1 extends HttpServlet { public void doGet (HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException { res.setContentType("text/html"); res.setCharacterEncoding("UTF-8"); PrintWriter out = res.getWriter(); String docType ="<!DOCTYPE HTML PUBLIC /"-//W3C//DTD HTML 4.0 " + "Transitional//EN/">/n"; out.println(docType + "<HTML>/n" + "<HEAD><TITLE>Hello</TITLE></HEAD>/n" + "<BODY BGCOLOR=/"#FDF5E6/">/n" ); try { // config client XmlRpcClientConfigImpl config = new XmlRpcClientConfigImpl(); config.setServerURL(new URL("http://localhost:8080/rpc/XmlRpcServer")); // should be modified according to your configuration of jsp container // create a new XmlRpcClient object and bind above config object with it XmlRpcClient client = new XmlRpcClient(); client.setConfig(config); // create parameter list Vector<String> params = new Vector<String>(); //Vector params=new Vector(); params.addElement("hello world ,世界你好"); // execute XML-RPC call String result = (String) client.execute("i.sayHello", params); out.println(result); out.println("</BODY></HTML>"); out.close(); } catch (MalformedURLException e) { System.out.println(e.toString()); } catch (XmlRpcException e) { System.out.println(e.toString()); } catch (IOException e) { e.printStackTrace(); } } } #javac Client.java
#java -classpath . Client
#vim Client.php
include('client/class-IXR.php'); //echo '<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />'; $client = new IXR_Client('http://localhost:8080/rpc/XmlRpcServer'); //$client = new IXR_Client('localhost','/server/server.php',80); function show() { global $client; if($client) {$response = $client->getResponse();} else{echo "<h2>ihefe::Error! ".$client->getErrorCode().":".$client->getErrorMessage().'</h2>';} //header('Content-type: image/png'); //$response=base64_decode($response); var_dump ($response); } //$file="1.png"; //$bin=file_get_contents($file); //$bin=base64_encode($bin); $client->query("i.sayHello","世界"); show(); $client->query("i.echos","hello"); show(); $client->query("i. get",array("a","b")); show();
抱歉!评论已关闭.