Laravel Soap Client / Server __soapCall () Ошибка «неизвестный статус» - PullRequest
0 голосов
/ 10 января 2019

Я нашел решение этой проблемы, которое у меня было. Обратите внимание, что я новичок в Laravel, но свободно владею PHP.

Из маршрутов / web.php

Route::any('/server', 'SoapController@callServer');
Route::get('/client', function() {
    $params = array(
        'location' => 'http://localhost/soap/public/server'
        ,'uri' => 'urn://localhost/soap/public/server'
        ,'trace' => 1
    );
    $client = new \SoapClient(null, $params);
    $id_array = array('id' => '1');
    echo $client->__soapCall('getStudentName', $id_array);
});

Из SoapController.php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Server;

class SoapController extends Controller
{
    public function callServer() {
        $params = array('uri' => 'soap/public/server');
        $server = new \SoapServer(null, $params);
        $server->setClass('App\Server');
        $server->handle();
    }
}

Из приложения / Server.php

namespace App;
class Server {
    public function getStudentName($id_array) {
        return 'Student Name';
    }
}

Когда я запускаю http://localhost/soap/public/server,, он работает нормально. Но когда я запускаю http://localhost/soap/public/client Laravel выдает ошибку «неизвестный статус».

Только строка __soapCall () выдает ошибку. Параметры были успешно переданы в функцию.

Пожалуйста, помогите.

1 Ответ

0 голосов
/ 08 апреля 2019

Отредактируйте приложение / Http / Middleware / VerifyCsrfToken.php в приложении laravel, чтобы внести в белый список URL-адрес сервера из проверки CSRF следующим образом:

class VerifyCsrfToken extends Middleware
{
    /**
     * The URIs that should be excluded from CSRF verification.
     *
     * @var array
     */
    protected $except = [
        '*/images/upload',
        '*/search',
        '*/server' // add your server uri here.
    ];
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...