PHP - SOAP-ENV: запрос ClientBad после SoapServer-> Handle () - Справка - PullRequest
1 голос
/ 27 мая 2011

У меня есть веб-служба PHP, которая долгое время работала великолепно, но где-то долго она перестала работать, и я просто не могу заставить ее работать снова.

Я получил некоторую страницу php, на которой все, что я делаю, это определяю класс с функциями, и в конце я создаю SoapServer.

Это выглядит так -

class MyClassWS
{
     function .....
     function ....
}
ini_set("soap.wsdl_cache_enabled", "0");
    error_log("Server after ini_set");
    $soapserver = new SoapServer("MyWSDL.wsdl");

    error_log("Server after new SoapServer");
$soapserver->setClass("MyClassWS");
    error_log("Server after setClass");
    //error_log(print_r($soapserver->getFunctions()));

    try
    {
        $soapserver->handle();
    }
    catch(Exception $ex)
    {
        error_log("Exception!".$ex->getMessage());

    }
error_log("Finished Handling",0);

Сразу после $ soapserver-> handle (); код завершается, и на моей веб-странице появляется неопределенный результат «SOAP-ENV: ClientBad Request».

Это происходит, когда я "require_once" на этой странице со своей индексной страницы, чтобы я мог вызывать функции, определенные в этом классе, со своей индексной страницы.

Я предполагаю, что, возможно, я слишком много возился с моим WSDL, и он каким-то образом испортил мой пока WebService, но я попытался выяснить, что с ним не так, но не смог ничего сделать. Особенно из-за этого раздражающего смутного сообщения об ошибке, это не очень помогает.

Спасибо!

1 Ответ

1 голос
/ 04 июня 2011

Я думаю, что я неплохо исправил это, разделив класс WebService, который включал SoapServer, на 2 разных класса.

Один, который включал в себя только класс с функциями, а другой, который включал WebServer и имел только ссылку на класс.

Таким образом, я могу импортировать класс с функциями, не импортируя такжеSoapServer и запуск функции handle ().

...