Я использую TYPO3 6.2, и я хочу реализовать SOAP-сервер в моем существующем расширении extbase. Позже я хочу иметь возможность передавать данные через запрос SOAP, который затем сохраняется в базе данных.
Ключ Extensinon моего плагина soap_parking_deck, а продавец - Comkom. В моем расширения У меня есть класс Классы/Услуги/SOAPService.php:SOAP-сервер в расширении TYPO3 6.2
namespace Comkom\SoapParkingDeck\Service;
class SOAPService {
public function __construct() {
try {
$server = new SOAPServer (
NULL,
array (
'uri' => 'http://localhost/test/SOAPService',
'encoding' => 'UTF-8',
'soap_version' => SOAP_1_2
)
);
$server->addFunction('helloWorld');
$server->handle();
}
catch (SOAPFault $fault) {
print $fault->faultstring;
}
}
public function helloWorld() {
return 'Hello World';
}
}
В классе я определяю PHP SoapServer и функция HelloWorld(). Но когда я пытаюсь сделать запрос, я получаю ошибку 404.
С намеком на Arek van Schaijk я выяснил решение.
Ошибка 404 возникла из-за того, что uri фактически должен быть полным путем к файлу сервера.
namespace Comkom\SoapParkingDeck\Service;
class SOAPService {
public function helloWorld() {
return 'Hello World';
}
}
try {
$server = new \SOAPServer (
NULL,
array (
'uri' => 'http://localhost/test/typo3conf/ext/soap_parking_deck/Classes/Service/SOAPService',
'encoding' => 'UTF-8',
'soap_version' => SOAP_1_1
)
);
$server->setClass('Comkom\SoapParkingDeck\Service\SOAPService');
$server->handle();
}
catch (\SOAPFault $fault) {
print $fault->faultstring;
}
Спасибо сформировать подсказки. Теперь я прослушиваю apache errorlog. Как только у меня будет рабочий результат, я отправлю его. – diealtebremse