2009-06-10 2 views
0

Я использую WebService, чтобы получить результаты в виде XML ... вот часть кодаИСПОЛЬЗОВАНИЕ WebService в PHP, который возвращает 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 ...

может предложить любой из меня, где я буду неправильно ???

ADDED .........

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

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

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

также Иам usig HTTPS: // blahblh для запроса

+1

Работает ли cURL с любым другим URL-адресом? Правильно ли вы установили error_reporting и display_errors? –

+0

Пожалуйста, отформатируйте свой код ... – Jet

+0

Да, я использую сервис проверки орфографии yahoo ... и завиток отлично работает с ним. Также я havent установил сообщение об ошибке еще – Andromeda

ответ

4

решаемые в проблеме ....

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

curl_setopt ($ ч, CURLOPT_SSL_VERIFYPEER , ЛОЖНЫЙ);

+0

Большое спасибо - я пытался это решить часами. –

1

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

Я полагаю, ваш код должен выглядеть следующим образом:

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

Добавлено:

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

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

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

+0

Я знаю tht .... Я создал класс для своего сервиса и вызвал getXML через объект класса tht .... – Andromeda

+0

Я еще не опубликовал весь код в вопросе. только соответствующая часть – Andromeda

+0

, когда я добавил заголовок ('Content-type: text/xml'); Я получил Ошибка анализа XML: неверно сформирована – Andromeda

Смежные вопросы