Mam aplikację, w której użytkownik przesyła formularz, który wykonuje wymianę SOAP w celu pobrania niektórych danych z interfejsu Web API. Jeśli w określonym czasie pojawi się zbyt wiele żądań, serwer przepustnicy odmówi dostępu. Mam niestandardowy widok błędu dla tego o nazwie throttle.blade.php
, który jest zapisany pod resources\views\pages
. W routes.php
nazwałem trasę jako:Przekierowanie do trasy nie działa w Laravel 5
Route::get('throttle', '[email protected]');
w PagesController.php
dodałem odpowiednią funkcję:
public function throttleError() {
return view('pages.throttle');
}
Oto klasa SoapWrapper
Stworzyłem wykonać wymianę SOAP:
<?php namespace App\Models;
use SoapClient;
use Illuminate\Http\RedirectResponse;
use Redirect;
class SoapWrapper {
public function soapExchange() {
try {
// set WSDL for authentication
$auth_url = "http://search.webofknowledge.com/esti/wokmws/ws/WOKMWSAuthenticate?wsdl";
// set WSDL for search
$search_url = "http://search.webofknowledge.com/esti/wokmws/ws/WokSearch?wsdl";
// create SOAP Client for authentication
$auth_client = @new SoapClient($auth_url);
// create SOAP Client for search
$search_client = @new SoapClient($search_url);
// run 'authenticate' method and store as variable
$auth_response = $auth_client->authenticate();
// add SID (SessionID) returned from authenticate() to cookie of search client
$search_client->__setCookie('SID', $auth_response->return);
} catch (\SoapFault $e) {
// if it fails due to throttle error, route to relevant view
return Redirect::route('throttle');
}
}
}
Wszystko działa tak, jak powinno, dopóki nie osiągnę maksymalnej liczby żądań dozwolonych przez serwer przepustnicy, w którym to momencie powinien wyświetlać m y niestandardowy widok, ale wyświetla błąd:
InvalidArgumentException in UrlGenerator.php line 273:
Route [throttle] not defined.
Nie mogę zrozumieć, dlaczego mówi, że trasa nie jest zdefiniowana.