เขียน web service XML-RPC บน Symfony Framework

Post a reply


In an effort to prevent automatic submissions, we require that you complete the following challenge.
Smilies
:icon_plusone: :like: :plusone: :gfb: :-D :) :( :-o 8O :? 8) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: :angry: :baa: :biggrin:
View more smilies

BBCode is ON
[img] is ON
[flash] is OFF
[url] is ON
Smilies are ON

Topic review
   

Expand view Topic review: เขียน web service XML-RPC บน Symfony Framework

Re: เขียน web service XML-RPC บน Symfony Framework

by thatsawan » 16/11/2015 11:03 pm

ลองเอาเข้ามาใช้งานกับ phpBB เเล้ว
จะมีปัญหาก็ตรง $this->getRequest()


ตรงนี้ของ Symfony ใช้งานได้เนื่องจาก use Symfony\Bundle\FrameworkBundle\Controller\Controller;
เพราะphpBB จะไม่มีมาให้

เขียน web service XML-RPC บน Symfony Framework

by mindphp » 09/11/2015 11:54 pm

เขียน web service XML-RPC บน Symfony Framework
แนะนำ ลองใช้ ตัวนี้
https://github.com/skolodyazhnyy/symfony-rpc-bundle

ตัวอย่างฝั่ง Server

Code: Select all

namespace Sample\WebserviceBundle\Controller;

use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Seven\RpcBundle\XmlRpc\Server;

class CalcHandler {

    public function add($a, $b) { return $a + $b; }

    public function sub($a, $b) { return $a - $b; }

    public function div($a, $b) { return $a / $b; }

}

class WebServiceController extends Controller
{
    public function handleAction()
    {
        // Create XML-RPC Server
        $server = new Server();

        // Add handlers
        $server->addHandler('help', function() { return "Use methods calc.add, calc.sub and calc.div."; });
        $server->addHandler('calc', 'CalcHandler');

        // Handler request and return response
        return $server->handle($this->getRequest());
    }
} 
ตัวอย่างการเรียกใช้ client

Code: Select all

$client = new Seven\RpcBundle\XmlRpc\Client("http://xmlrpcservice/endpoint");

echo $client->call('calc.add', array(1, 2)); // echo 3
echo $client->call('calc.sub', array(2, 3)); // echo -1 

Top