у меня ошибка мыла сервера с symfony? - PullRequest
0 голосов
/ 22 февраля 2019

Я использую nuSoap с Symfony

действует рецепт:

http://127.0.0.1:8000/recept?wsdl я получаю XML-схему ....

<definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:tns="http://127.0.0.1:8000/recept" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap-enc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" name="App.Service.SoapDataService" targetNamespace="http://127.0.0.1:8000/recept">

..........

    /**
 * @Route("/recept", methods={"GET"}, name="default_recept")
 */
public function recept(Request $request, SoapDataService $soapDataService, ParameterBagInterface $params): Response
{

    $path = $params->get('root_dir');
    $filename = $path . "/../public/hello.wsdl";


    $gen = new \PHP2WSDL\PHPClass2WSDL($soapDataService, "http://127.0.0.1:8000/recept");
    $gen->generateWSDL();
    $gen->save($filename);


    $soapServer = new \SoapServer($filename);
    $soapServer->setObject($soapDataService);


    $response = new Response();
    $response->headers->set('Content-Type', 'text/xml; charset=ISO-8859-1');

    ob_start();
    $soapServer->handle();

    $response->setContent(ob_get_clean());

    return $response;
}

но клиент с сервером Soap у него не работает!

    /**
 * @Route("/client", methods={"GET"}, name="default_client")
 */
public function client(Request $request, SoapDataService $soapDataService, ParameterBagInterface $params): Response
{

    $path = $params->get('root_dir');
    $filename = $path . "/../public/hello.wsdl";

    $soapClient = new \SoapClient('http://127.0.0.1:8000/recept?wsdl');

    $result = $soapClient->call('hello');
    dump($result);

}

в этой строке:

    $result = $soapClient->call('hello');

itостается заблокированным без каких-либо действий. Превышено максимальное время выполнения 120 секунд

namespace App\Service;

class SoapDataService
{
 public function __construct()
 {
 }
 public function hello($name)
 {
     return 'Hello, '.$name;
 }
}

HELP!

  • для тестирования с \ Zend \ Soap \ Server

        $server = new \Zend\Soap\Server('http://127.0.0.1:8000/recept?wsdl', $options);
    $server->setObject($soapDataService);
    $server->handle();
    $server->setReturnResponse(true);
    

через 120 секунд: SOAP-ERROR: синтаксический анализ WSDL: Couldn 't load from 'http://127.0.0.1:8000/recept?wsdl': не удалось загрузить внешний объект "http://127.0.0.1:8000/recept?wsdl"

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...