function uft8html2utf8( $s ) { if ( !function_exists('uft8html2utf8_callback') ) { function uft8html2utf8_callback($t) { $dec = $t[1]; if ($dec < 128) { $utf = chr($dec); } else if ($dec < 2048) { $utf = chr(192 + (($dec - ($dec % 64)) / 64)); $utf .= chr(128 + ($dec % 64)); } else { $utf = chr(224 + (($dec - ($dec % 4096)) / 4096)); $utf .= chr(128 + ((($dec % 4096) - ($dec % 64)) / 64)); $utf .= chr(128 + ($dec % 64)); } return $utf; } } return preg_replace_callback('|([0-9]{1,});|', 'uft8html2utf8_callback', $s ); } function addMe2DaySkin($target, $mother) { global $entryView; requireComponent("Tattertools.Function.misc"); $me2day = getMe2Day(); misc::dress('Me2Day', $me2day, $entryView); return $target; } function addMe2DaySB($parameter) { global $configVal; requireComponent( "Tattertools.Function.misc"); $data = misc::fetchConfigVal($configVal); if (isset($parameter['preview'])) { // preview mode $retval = "미투데이에 올린 자신의 글을 확인할 수 있습니다."; return $retval; } $me2day = getMe2Day(); if($data['sb_use'] == 'T') { return $me2day; }return; } function getMe2Day(){ global $pluginURL, $entryView, $configVal; requireComponent('Eolin.PHP.HTTPRequest'); requireComponent('Tattertools.Function.misc'); requireComponent('Eolin.PHP.Core'); $data = misc::fetchConfigVal($configVal); $me2day_id=split(',',$data['me2day_url']); for($i=0; $i < count($me2day_id); $i++) { $me2day_url = 'http://me2day.net/'.$me2day_id[$i]; $me2day_rss = $me2day_url.'/rss'; $request = new HTTPRequest($me2day_rss); $request->timeout = 1; if ($request->send()){ $rst = $request->responseText; } // $rst = html_entity_decode($rst); $rst = uft8html2utf8($rst); $xmls = new XMLStruct(); $xmls->open($rst); if($xmls->doesExist('/rss/channel/title')) { $title=$xmls->getValue('/rss/channel/title'); } if($xmls->doesExist('/rss/channel/link')) { $link=$xmls->getValue('/rss/channel/link'); } $rankicon = ($data['icon_use']=='T')?" style=\"margin:4px 0px 0px 0px;padding:0px;list-style:none;margin-left:1px;\"":""; list($me2dayer, $temp) = split('님의 ', $title); $me2day .= $data['md_header']."\n"; $me2day .= "
$max_data[visits]
"; if($cut_peak == 'true') $target .= $avg; else $target .= round($max_data[visits]/2); $target .="
-$how_day days
today : $lastvisit
soap, usn, WebService
트랙백 없음 | 댓글 없음
트랙백+댓글 | 트랙백 | 댓글
이 글에는 트랙백을 보낼 수 없습니다
Then is Apache CXF, which released version 2.0 (the first version released under that name) less than two months ago.
Not surprisingly, both WS frameworks also evolved from existing projects. Axis2 came from the well-known Axis 1.x series. CXF is literally the offspring of the X-Fire and Celtix projects, as those two projects have pooled their codebases and development teams to give rise to CXF.
The changes between the old projects and their new versions is significant in each case. Axis2 is a total rewrite of Axis from the ground up, using a new modular architecture that allows its functionality to be more easily extended.
CXF has also been extensively retooled from its XFire and Celtix origins.
* 원문: http://www.mywebservices.ca/news-im/07-320-sep-18.html
AXIS, CXF, WebService
http://www.expertvill.net/tc/jcfblog/trackback/16