PHP webservice kullanarak xml döndürür

2 Cevap php

Ben XML şeklinde bazı sonuçlar elde etmek için bir webcoder kullanıyorum ... burada kod parçası

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;

Ben o '$ asd' echo zaman bir balnk sayfada hiçbir şey yok ama ...

ama bu, bir XML sonuç üretmek doğrudan tarayıcıda $ url değeri kullandığınızda ...

i yanlış gidiyorum herhangi biri bana önerebilirsiniz??

......... EKLENDİ

i curl_exec sonra hata raporlama dahil olduğunda

bir hata veriyor

Hata: SSL sertifikası sorunu, CA sertifika Tamam olduğunu doğrulayın. Detaylar: error: 14090086: SSL rutinleri: SSL3_GET_SERVER_CERTIFICATE: sertifika başarısız doğrulamak

istek için de Iam usig https :/ / blahblh

2 Cevap

PROBLEM Out çözüldü ....

i https:// kullanıyorum çünkü, ben cURL seçeneklerini ayarlamak tek bir kod satırı eklemek zorunda

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);

Ben kör değilim - Sizin "GetXml" bir sınıf (yani MyWebService) bir yöntemdir. Yani, sizin $asd = getXML(); nasıl çalışması gerektiğini düşünüyorsunuz?

Ben senin kod şöyle bakmak gerekir varsayalım:

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

EKLENDİ:

Ben varsayılan içerik türü text / html ile bir başlık alır, çünkü bu tarayıcı sadece senin XML göstermek değil, düşünüyorum. Sayfa kaynağına bakmak veya yankı önce yazmaya çalışın

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

Bu HTML olduğunu varsayarak herhangi bir tarayıcı, HTML-uyumlu olmayan bilinmeyen etiketleri görmezden gerekir. Yani XML bilinmeyen non-HTML etiketi olarak yorumlanıyor.