ИСПОЛЬЗОВАНИЕ webservice в PHP, который возвращает XML

Я использую webservice, чтобы получить некоторые результаты в форме XMl … вот часть кода

public function getXML() { $url=$this->constructURL(); $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $xml = curl_exec($ch); if ($error = curl_error($ch)) { echo "Error: $error<br />\n"; } curl_close($ch); return $xml; } $resultXML = $api->getXML(); echo $resultXML; 

когда я повторяю, что «$ asd» не делает ничего, кроме страницы balnk …

но когда я использую значение $ url непосредственно в браузере, он создает результат XML …

может ли кто-нибудь предложить мне, где я иду не так ???

ДОБАВЛЕНО ………

когда я включил отчет об ошибках после curl_exec

он дает ошибку

Ошибка: проблема сертификата SSL, убедитесь, что сертификат CA в порядке. Подробности: ошибка: 14090086: SSL-процедуры: SSL3_GET_SERVER_CERTIFICATE: проверка сертификата не выполнена

также Iam usig https : // blahblh для запроса

Related of "ИСПОЛЬЗОВАНИЕ webservice в PHP, который возвращает XML"

РЕШЕНО ПРОБЛЕМА ….

потому что я использую https: //, я должен включить одну строку кода, которая устанавливает параметры cURL

curl_setopt ($ ch, CURLOPT_SSL_VERIFYPEER, FALSE);

Я не слепой – ваш «getXML» – это метод класса (т.е. myWebService). Итак, как вы думаете, ваш $asd = getXML(); должно сработать?

Я предполагаю, что ваш код должен выглядеть так:

 ... $service = new myWebService(); $asd = $service->getXML(); echo $asd; 

ДОБАВЛЕНО:

Я думаю, что браузер просто не отображает ваш XML, потому что по умолчанию он получает заголовок с текстом text / html. Попробуйте посмотреть источник страницы или написать перед эхом

 header('Content-type: text/xml'); 

Любой браузер, предполагая, что это HTML, должен игнорировать неизвестные теги, которые не совместимы с HTML. Таким образом, ваш XML интерпретируется как неизвестный не-HTML-тег.