curl_setopt($ch, CURLOPT_POSTFIELDS,
'<Message xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">'
.'<APIVersion>1.0.0</APIVersion>'
.'<OkUrl>'.$basariliislem.'</OkUrl>'
.'<FailUrl>'. $basarisizislem.'</FailUrl>'
.'<HashData>'.$HashData.'</HashData>'
.'<MerchantId>'.$MerchantId.'</MerchantId>'
.'</Message>');
curl ile gönderilecek (Örnek kısaltılmış) böyle bir xml verim var.
veriyi gönderdiğimde karşı taraftan aşağıdaki gibi uyarı mesajı geliyor.
There is an error in XML document (1, 222).
karşı taraf requesti görmemiz gerekiyor diyor. Yani istediğ XML verisinin çıktısını görmek
örnek
<Message xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<APIVersion>1.0.0</APIVersion>
<OkUrl>https://site.com/basarili</OkUrl>
<FailUrl>https://site.com/basarisiz</FailUrl>
<HashData>112223445566</HashData>
<MerchantId>12345</MerchantId>
</Message>
sorum yukarıdaki veriyi aşağıdaki gibi nasıl yazdırabilirim.
XML çıktısı almak
8
●620
- 31-07-2015, 16:50:14Kimlik doğrulama veya yönetimden onay bekliyor.
- 01-08-2015, 03:25:02Merhaba hocam,
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
şeklinde bir header verisi ile beraber göndermeyi denemeni öneririm. - 01-08-2015, 21:07:20Aşağıdaki gibi yol izleyebilirsin.
<?php $POST_EDILECEK_URL = 'https://www.xxx.com'; $XML_VERISI = "<?xml version=\"1.0\" encoding=\"UTF-8\"?> <Message xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <APIVersion>1.0.0</APIVersion> <OkUrl>https://site.com/basarili</OkUrl> <FailUrl>https://site.com/basarisiz</FailUrl> <HashData>112223445566</HashData> <MerchantId>12345</MerchantId> </Message>"; $ch = curl_init($POST_EDILECEK_URL); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: application/xml")); curl_setopt($ch, CURLOPT_POSTFIELDS, $XML_VERISI); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $results = curl_exec($ch); curl_close($ch); //gelen cevabı okuma preg_match("/<donenveritag1>(.*)<\/donenveritag1>/", $results, $donenveritag1temizveri); preg_match("/<donenveritag2>(.*)<\/donenveritag2>/", $results, $donenveritag2temizveri); echo $donenveritag1temizveri.' '.$donenveritag2temizveri; ?> - 06-08-2015, 12:33:39Cevaplar için teşekkür ederim ama, benim sorum veriyi post etmek değil
post edilecek tüm veriyi ekranda görmek istiyorum.
yani explorer penceresinde
<Message xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<APIVersion>1.0.0</APIVersion>
<OkUrl>https://site.com/basarili</OkUrl>
<FailUrl>https://site.com/basarisiz</FailUrl>
<HashData>112223445566</HashData>
<MerchantId>12345</MerchantId>
</Message>
böyle yazılı görmek istiyorum, nasıl print edebilirim
gurkanbicer adlı üyeden alıntı: mesajı görüntülebulerobul adlı üyeden alıntı: mesajı görüntüle - 06-08-2015, 13:13:48recepuncu adlı üyeden alıntı: mesajı görüntüle
tek satır bir string olarak verdi.
1.0.0https://site.com/basarilihttps://site.com/basarisiz11222344556612345
yukarıdaki sonuç yazdırıldı
henüz bu yöntemde sonuç vermedi - 06-08-2015, 13:23:33göndermeye çalıştığın $XML_VERISI hatalı aşağıdaki gibi değiştir çalışır.
$XML_VERISI = '<?xml version="1.0" encoding="UTF-8"?> <Message xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <APIVersion>1.0.0</APIVersion> <OkUrl>https://site.com/basarili</OkUrl> <FailUrl>https://site.com/basarisiz</FailUrl> <HashData>112223445566</HashData> <MerchantId>12345</MerchantId> </Message>'; @header("Content-type: text/xml"); echo $XML_VERISI; - 06-08-2015, 14:32:22Evet doğrudur, karşı taraf ne gönderdiğimi mail ortamında görmek istiyor,bulerobul adlı üyeden alıntı: mesajı görüntüle
normalde veri burada yazdığım kadar kısa değil, çok uzun,
bende veriyi karşı tarafın istediği gibi yazdırıp kopyala yapıştır yapıp mail atmak istiyorum.
şimdi deneyeceğim, sonucu gene yazarım.recepuncu adlı üyeden alıntı: mesajı görüntüle
aslında bu benim yazdığım bir kod değil karşı tarafın tam olarak benden istediği yazdım.