|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
你精通任何一门语言就最强大。现在来看,java的市场比C#大,C#容易入手,比较简单,java比较难xml|办理|成绩|中文
成绩形貌:在利用PHP和JAVA操纵XML-RPC的时分,假如request中包括中笔墨符,会被主动编码成以下款式:
欢欢。
情况:PHP内置XML-RPC的API,Apache的XML-RPC的JAVAAPI
PHP下的办理办法:后来觉得是中笔墨符的编码成绩,以是我就实验用各类编码体例来编码中笔墨符,然后交给stringxmlrpc_encode_request(stringmethod,mixedparams)函数来天生XML格局的哀求,但是荡然无存。百思不得其界。便操其Google一通神搜,也没找到办理举措,厥后我找到了http://xmlrpc-epi.sourceforge.net/这个网站。才晓得,本来PHP文档里给的xmlrpc_encode_request(stringmethod,mixedparams)函数少了一个可选参数!!!!准确的应当是如许的:stringxmlrpc_encode_request(stringmethod,mixedparams[,arrayoutput_options])!!output_options的布局以下:
$output_options=array("output_type"=>"xml","verbosity"=>"pretty","escaping"=>array("markup","non-ascii","non-print"),"version"=>"xmlrpc","encoding"=>"utf-8");or
$output_options=array("output_type"=>"php");
原文申明以下:
output_type:returndataaseitherphpnativedatatypesorxmlencoded.ifphpisused,thentheothervaluesareignored.default=xmlverbosity:determinecompactnessofgeneratedxml.optionsareno_white_space,newlines_only,andpretty.default=prettyescaping:determinehow/whethertoescapecertaincharacters.1ormorevaluesareallowed.Ifmultiple,theyneedtobespecifiedasasub-array.optionsare:cdata,non-ascii,non-print,andmarkup.default=non-ascii,non-print,markupversion:versionofxmlvocabularytouse.currently,threearesupported:xmlrpc,soap1.1,andsimple.Thekeywordautoisalsorecognizedtomeanrespondinwhicheverversiontherequestcamein.default=auto(whenapplicable),xmlrpcencoding:theencodingthatthedataisin.SincePHPdefaultstoiso-8859-1youwillusuallywanttousethat.Changeitifyouknowwhatyouaredoing.default=iso-8859-1
经由测试关头是在"escaping"=>array("markup")这个值上,将第三个参数传进以下值就能够办理成绩了:
$output_options=array("output_type"=>"xml","verbosity"=>"pretty","escaping"=>array("markup"),"version"=>"xmlrpc","encoding"=>"utf-8");
ApacheJAVAXML-RPC的办理办法
找遍了Apache供应的API仿佛也没有找到相似PHP那样的第三个参数,其实无法发明他供应了一个Base64的类,我便只好将一切的中笔墨符在Client端用Base64编码,然后request到Server上,然后在Server端在用Base64解码,哈哈~~~成绩也能办理!不外不晓得另有没其余更好的举措了?
谁有更好的办理办法请和我接洽:QQ:3470431MSN:imdishui@hotmail.comEmail:wangsg@asiainfo.com
因为能用到多少功能就用多少,不能用就不用!总的来说:要简单要性能好,可以不用框架。你说java复杂,就是因为你把java(j2ee)与这些框架混在了一起。 |
|