|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
一旦你有了思想,那你编的程序就有了灵魂,不管是什么语言到了你的手里都会是你的工具而已,他们的价值是能尽快帮助你实现你想要的目标。但是如果你没有了思想,那就像是海里的帆船失去了船帆,是很难到打海的另一边的。web|web服务|xml|会见|来访<!--[if!supportLists]-->1.<!--[endif]-->XML-RPC<!--[if!supportLists]-->a)<!--[endif]-->道理:XML-RPC是以XML的体例来发送RPC挪用,他利用HTTP作为传输协定,把必要发送的哀求和哀求的了局封装到HTTP的动静傍边。因为RPC挪用也是办法挪用,只是被挪用的一方不是在当地罢了,固然是如许,可是不克不及改动的是挪用的实质,关于挪用方,他必要供应所挪用的办法和办法的参数,而关于被挪用方,她经由过程注释挪用方的哀求,实行呼应的挪用,并将了局前往。这就是办法挪用的实质。RPC只是在挪用和前往之间增添了收集传输和编码解码部分,而XML-RPC则是划定了编码息争码必需利用XML格局,而收集传输必需利用HTTP协定,仅此罢了。<!--[if!supportLists]-->2.<!--[endif]-->XML-RPC的哀求和呼应格局<!--[if!supportLists]-->a)<!--[endif]-->哀求:POST/rpchandlerHTTP/1.0User-Agent:AcmeXMLRPC/1.0Host:xmlrpc.example.comContent-Type:text/xmlContent-Length:165<?xmlversion="1.0"?><methodCall><methodName>getCapitalCity</methodName><params><param><value><string>England</string></value></param></params></methodCall><!--[if!supportLists]-->b)<!--[endif]-->呼应:HTTP/1.1200OKDate:Sun,29Apr200112:08:58GMTServer:Apache/1.3.12(Unix)Debian/GNUPHP/4.0.2Connection:closeContent-Type:text/xmlContent-length:133<?xmlversion="1.0"?><methodResponse><params><param><value><string>Michigan</string></value></param></params></methodResponse><!--[if!supportLists]-->c)<!--[endif]-->毛病:HTTP/1.1200OKDate:Sun,29Apr200112:08:58GMTServer:Apache/1.3.12(Unix)Debian/GNUPHP/4.0.2Connection:closeContent-Type:text/xmlContent-length:133<?xmlversion="1.0"?><methodResponse><fault><value><struct><member><name>faultCode</name><value><int>802</int></value></member><member><name>faultString</name><value><string>Unknowncountry,Engand.</string></value></member></struct></value></fault></methodResponse><!--[if!supportLists]-->3.<!--[endif]-->XML-RPC实例<!--[if!supportLists]-->a)<!--[endif]-->发送哀求:<!--[if!supportLists]-->i.<!--[endif]-->申明:利用XmlRpcClient能够发送哀求,在哀求傍边我们必要供应所必要挪用的办法名,和办法参数,且参数需包装到一个汇合傍边。<!--[if!supportLists]-->ii.<!--[endif]-->代码:XmlRpcClientclient=newXmlRpcClient("http://127.0.0.1:6666");Vector<String>pars=newVector<String>();pars.addElement("nick");Objectresult=client.execute("service.hello",pars);System.out.println("TheResultis:"+result);<!--[if!supportLists]-->b)<!--[endif]-->公布服务:<!--[if!supportLists]-->i.<!--[endif]-->申明:经由过程WebServer我们能够很便利的公布服务。个中增加到addHandler()傍边的实例就是服务体,而“service”就暗示服务称号。当哀求抵达时,他会依据哀求的称号与查找服务体,然后在前往的实例上挪用execute()办法。<!--[if!supportLists]-->ii.<!--[endif]-->代码:WebServerserver=newWebServer(6666);server.addHandler("service",newService());server.start();publicclassServiceimplementsXmlRpcHandler{publicObjectexecute(StringmethodName,Vectorargs)throwsException{if("service.hello".equals(methodName)){returnhello((String)args.get(0));}return"";}privateStringhello(Stringname){return"Hello"+name;}}
在1995年5月23日以“Java”的名称正式发布了。 |
|