Ошибки клиента PHP SOAP и сервера SOAP - PullRequest
0 голосов
/ 09 августа 2010

У меня есть веб-сервер, который действует как клиент SOAP для связи со сторонним сервером SOAP.Мой клиент реализован на PHP с использованием php :: soapclient.

Каков наилучший способ проверить, работает ли сервер SOAP, чтобы я мог предоставить клиентскому браузеру сайт в противном случае, если сервер SOAP не работает или не отвечает, информируя пользователя о том, что служба в данный момент недоступна?

Система, по сути, обеспечивает гибридную обработку сторонних сервисов, предлагаемых с использованием связи клиент / сервер SOAP для отображения данных в браузере и позволяет пользователям взаимодействовать со сторонней системой.

Ответы [ 2 ]

2 голосов
/ 09 августа 2010

хорошо ... однажды я работал с мыльным сервером php и мыльным клиентом php. Я думаю, что когда клиент вызывает сервис, он проходит через wsdl и, если есть проблема во время соединения (или даже выполнения) на стороне сервера, ответом клиента будет объект SoapFault .. id di что-то вроде

    $resp = $this->client->__soapCall($serviceName,$serviceParams);
    if (get_class($resp)=="SoapFault"){
         throw new Exception("Webservice error - Message: ".$resp->faultstring);
    }
1 голос
/ 09 августа 2010

Вы можете вызвать http://server:1234/foo/bar?wsdl и, если вы все-таки получите WSDL, запустить фактический запрос SOAP.

Если приложение не работает, вы, вероятно, не получите WSDL, и еслиэто только часть службы, которая заставляет его зависать, вы все равно ничего не можете сделать, чтобы обнаружить его заранее.

...