Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/277.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php LaravelSOAP服务器&;客户端:不允许使用此方法_Php_Laravel_Web Services_Soap_Laravel 5.5 - Fatal编程技术网

Php LaravelSOAP服务器&;客户端:不允许使用此方法

Php LaravelSOAP服务器&;客户端:不允许使用此方法,php,laravel,web-services,soap,laravel-5.5,Php,Laravel,Web Services,Soap,Laravel 5.5,我尝试为Laravel Framework 5.5.13设置一个SOAP服务器。因此,我创建了两个类(Server.php和Client.php)和两个控制器,SoapServerController和SoapClientController 以下是源代码: app/Classes/Soap/Server.php namespace App\Classes\Soap; class Server { public function __construct() { } p

我尝试为Laravel Framework 5.5.13设置一个SOAP服务器。因此,我创建了两个类(Server.php和Client.php)和两个控制器,SoapServerController和SoapClientController

以下是源代码:

app/Classes/Soap/Server.php
namespace App\Classes\Soap;

class Server {
    public function __construct() {
    }

    public function getDate() {
        return date('Y-m-d');
    }

}
app/Classes/Soap/Client.php
namespace App\Classes\Soap;

class Client {

    protected $instance;

    public function __construct() {
        $params = array( 'uri' => '/soap/server',
                         'location' => url('/soap/server'),
                         'trace' => 1,
                         'soap_version' => SOAP_1_2
                         );

        $this->instance = new \SoapClient( null, $params );

    }

    public function getDate() {
        return $this->instance->getDate();
    }

}
app/Http/Controllers/SoapServerController.php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Classes\Soap;

class SoapServerController extends Controller
{
    public function index() {
        $params = array( 'uri' => url('/soap/server') );
        $server = new \SoapServer( null, $params );
        $server->setClass( Soap\Server::class );
        $server->handle();
    }

}
namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Classes\Soap;

class SoapClientController extends Controller
{
    public function index() {
        $client = new Soap\Client;
        $client->getDate();
    }
}
app/Http/Controllers/SoapClientController.php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Classes\Soap;

class SoapServerController extends Controller
{
    public function index() {
        $params = array( 'uri' => url('/soap/server') );
        $server = new \SoapServer( null, $params );
        $server->setClass( Soap\Server::class );
        $server->handle();
    }

}
namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Classes\Soap;

class SoapClientController extends Controller
{
    public function index() {
        $client = new Soap\Client;
        $client->getDate();
    }
}
当我打开route/api/soap/client时,我得到一个错误:

SoapFault:不允许使用方法


我是否必须更改路由文件中的某些内容?

需要注意的是,SOAP调用都应该在POST请求中执行。最有可能的情况是,您只使用GET请求设置了路由,因此不允许使用方法(POST)