Laravel 5.1使用控制器和模型消耗soap wsdl服务

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Laravel 5.1使用控制器和模型消耗soap wsdl服务相关的知识,希望对你有一定的参考价值。

目前我正在使用php和nusoap,并希望将其转换为Laravel。

在创建soap调用时,我使用mysql数据库中的数据。

所以我想我需要一个模型(获取我的数据)和一个控制器(创建请求)。

编辑:

<?php
namespace AppHttpControllers;
use ArtisaninwebSoapWrapperFacadesSoapWrapper;
class SoapController extends Controller {
public function demo()
{
// Add a new service to the wrapper
    SoapWrapper::add(function ($service) {
       $service
       ->name('currency')
       ->wsdl('path/to/wsdl')
       ->trace(true);
       ->options(['user' => 'username', 'pass' => 'password']);
     });

// Using the added service
SoapWrapper::service('currency', function ($service) {
var_dump($service->getFunctions());
var_dump($service->call('Otherfunction'));
});
}
}

来自laravel-soap我找不到关于如何在任何其他请求之前发送登录参数的教程。在“使用添加的服务”示例中,我看到了登录凭据,但它不起作用。

答案

这就是我在Laravel 5.1中使用肥皂的方法

  1. 清洁安装laravel 5.1
  2. 安装artisaninweb/laravel-soap
  3. 创建一个控制器SoapController.php <?php namespace AppHttpControllers; use ArtisaninwebSoapWrapperFacadesSoapWrapper; class SoapController extends Controller { public function demo() { // Add a new service to the wrapper SoapWrapper::add(function ($service) { $service ->name('currency') ->wsdl('path/to/wsdl') ->trace(true); }); $data = [ 'user' => 'username', 'pass' => 'password', ]; // Using the added service SoapWrapper::service('currency', function ($service) use ($data) { var_dump($service->call('Login', [$data])); var_dump($service->call('Otherfunction')); }); } }
  4. 在routes.php中创建一个路由

Route::get('/demo', ['as' => 'demo', 'uses' => 'SoapController@demo']);

如果重新加注,你也可以使用here描述的模型扩展

以上是关于Laravel 5.1使用控制器和模型消耗soap wsdl服务的主要内容,如果未能解决你的问题,请参考以下文章

Laravel 5.1 文档攻略 —— Eloquent:模型对象序列化

如何在 laravel 5.1 中使用工匠制作视图

Laravel 5 和 Laravel 5.1 “找不到类‘模型名称’”,有更好的解决方案吗?

Laravel 5.1 - 具有空值的模型上的关系

Laravel 5.1 使用默认身份验证控制器和中间件尝试使用额外参数进行身份验证

Laravel 5.1 - 模型工厂错误种子