php - laravel 的控制器中如何写soapserver

查看:187
本文介绍了php - laravel 的控制器中如何写soapserver的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

有没大神帮给写个例子。感激不尽

解决方案

和普通的soapserver没差.

1 建个route, 把某个url指到提供soap服务的类

// 需要用post方法
Route::any('test/bar', [
    'uses' => 'TestController@bar',
    'as' => 'test.bar',
]);

2 写个类似如下的函数.

class TestController extends Controller
{
    public function bar(Request $req)
    {
        $server = new \SoapServer(null, ['uri' => 'mysoapuri']);
        $server->setObject(new SoapService());
        ob_start();
        $server->handle();
        return ob_get_clean();
    }
}


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

3 测试代码

$client = new SoapClient(null, ['uri' => 'mysoapuri', 'location' => 'http://laravel服务器域名/test/bar', ***'trace' => true***]);

try {
    var_dump($client->add(1, 3));
} catch (Exception $e)
{
    var_dump($e);
}
var_dump($client->__getLastResponse());

4 如果需要生成wsdl, 请使用zendframework/zend-soap

这篇关于php - laravel 的控制器中如何写soapserver的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆