Mantis SOAP-Ошибка доступа к mantisconnect.php (Eclipse Mylyn-Plugin)

Я установил Mantis BT 1.2.19 на свой сервер, и он работает хорошо. Чтобы извлечь из этого пользу в моем Eclipse-IDE (Mars), я установил плагин Task-Repo для Mantis и попытался добавить соединение.

Когда я нажимаю «Проверить настройки» в Eclipse, я получаю следующую ошибку:

 SOAP-ERROR: Parsing WSDL: Couldn't load from '/var/www/vhosts/{myhost}/httpdocs/mantis/api/soap/mantisconnect.wsdl' : failed to load external entity "/var/www/vhosts/{myhost}/httpdocs/mantis/api/soap/mantisconnect.wsdl"

В моем логе ошибок на сервере находятся следующие записи

[14-Oct-2015 11:25:05 Europe/Berlin] [mantisconnect.php] Error Type: SYSTEM WARNING,
Error Description: SoapServer::SoapServer(): I/O warning : failed to load external entity "/var/www/vhosts/{myhost}/httpdocs/mantis/api/soap/mantisconnect.wsdl"
Stack Trace:
mantisconnect.php L121 SoapServer(<string>'mantisconnect.wsdl', <Array> { ['features'] => 5 })

[14-Oct-2015 11:25:05 Europe/Berlin] PHP Warning:  Uncaught SoapFault exception: [Server] Error Type: SYSTEM WARNING,
Error Description: SoapServer::SoapServer(): I/O warning : failed to load external entity &quot;/var/www/vhosts/{myhost}/httpdocs/mantis/api/soap/mantisconnect.wsdl&quot; in /var/www/vhosts/{myhost}/httpdocs/mantis/api/soap/mc_api.php:107
Stack trace:
#0 /var/www/vhosts/{myhost}/httpdocs/mantis/api/soap/mc_api.php(530): SoapActions::sendSoapFault('Server', 'Error Type: SYS...')
#1 [internal function]: mc_error_handler(2, 'SoapServer::Soa...', '/var/www/vhosts...', 121, Array)
#2 /var/www/vhosts/{myhost}/httpdocs/mantis/api/soap/mantisconnect.php(121): SoapServer->SoapServer('mantisconnect.w...', Array)
#3 {main}
thrown in /var/www/vhosts/{myhost}/httpdocs/mantis/api/soap/mc_api.php on line 107
[14-Oct-2015 11:25:05 Europe/Berlin] PHP Fatal error:  SOAP-ERROR: Parsing WSDL: Couldn't load from '/var/www/vhosts/{myhost}/httpdocs/mantis/api/soap/mantisconnect.wsdl' : failed to load external entity "/var/www/vhosts/{myhost}/httpdocs/mantis/api/soap/mantisconnect.wsdl"in /var/www/vhosts/{myhost}/httpdocs/mantis/api/soap/mantisconnect.php on line 121

Вышеуказанные ошибки генерируются плагином Mantis при доступе к URL

188.109.171.76 - - [14/Oct/2015:11:25:05 +0200] "POST /mantis/api/soap/mantisconnect.php HTTP/1.0" 500 1067 "-" "Mylyn/3.17.0 Mylyn-Mantis Connector/3.10.1 Apache Axis/1.4 Eclipse (org.eclipse.epp.package.jee.product) HttpClient/3.1 Java/1.8.0_60 (Oracle) Windows 7/6.1 (amd64; de_DE)"

Но даже «нормальный» GET-доступ к упомянутому выше URL выдает ту же ошибку

https://{myhost}/mantis/api/soap/mantisconnect.php

Нет ошибок при доступе

https://{myhost}/mantis/api/soap/mantisconnect.php?wsdl

Чтобы решить проблему самостоятельно, я проверил несколько идей:

  • Файл IS existant … {myhost} здесь просто заполнитель — размещен мной
  • Я переключился на контекст веб-сервера www-data и попытался получить доступ к файлу … он доступен

Так что я понятия не имею …

Версия PHP 5.5.9-1ubuntu4.13 на Ubuntu 14.04.3 LTS

€ ДИТ:

Отследил ошибку до следующей PHP-строки в mantis/api/soap/mantisconnect.php

 $server = new SoapServer("mantisconnect.wsdl",
array('features' => SOAP_USE_XSI_ARRAY_TYPE + SOAP_SINGLE_ELEMENT_ARRAYS)
);

Я не понимаю, почему возникает ошибка — потому что, как я уже сказал, она существует и доступна для чтения веб-сервером …

€ edit2:

Я заменил линию

 $server = new SoapServer("mantisconnect.wsdl",

с

$server = new SoapServer("http://{myhost}/mantis/api/soap/mantisconnect.wsdl",

Это работает … так что у меня есть «решение», но я не знаю, почему не работает доступ через файл

0

Решение

Я думаю, что нашел ответ самостоятельно (мой обходной путь потерпел неудачу несколько часов спустя — с той же самой ошибкой снова).

Кажется, это ошибка в PHP (в Ubuntu), как упоминалось здесь
https://bugs.launchpad.net/ubuntu/+source/php5/+bug/1160336

Нерешенный с 2013 года
🙁

Мой текущий обходной путь отключает soap.wsdl_cache_enabled в php.ini который, кажется, помогает на данный момент.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]