Клиент / сервер Laravel Soap __soapCall () Ошибка «неизвестный статус»

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

Из routes / 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();
    }
}

Из app / Server.php

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

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

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

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

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
0
345
1

Ответы 1

Измените app / 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.
    ];
}

Другие вопросы по теме