fsockopen sabun isteği

2 Cevap php

I am trying to send a SOAP message to a service using php.
I want to do it with fsockopen, here's is the code :

<?php

$ Fp = @ fsockopen ("ssl :/ / xmlpropp.worldspan.com", 443, $ errno, $ errstr);

if (!is_resource($fp)) { die('fsockopen call failed with error number ' . $errno . '.' . $errstr); }

$soap_out = "POST /xmlts HTTP/1.1\r\n"; $soap_out .= "Host: 212.127.18.11:8800\r\n"; //$soap_out .= "User-Agent: MySOAPisOKGuys \r\n"; $soap_out .= "Content-Type: text/xml; charset='utf-8'\r\n"; $soap_out .= "Content-Length: 999\r\n\r\n"; $soap_put .= "Connection: close\r\n"; $soap_out .= "SOAPAction:\r\n"; $soap_out .= ' Worldspan This is a test ';

if(!fputs($fp, $soap_out, strlen($soap_out)))
    echo "could not write";
echo "<xmp>".$soap_out."</xmp>";
echo "--------------------<br>";

while (!feof($fp)) 
{
    $soap_in .= fgets($fp, 100);
}

echo "<xmp>$soap_in</xmp>";   

fclose($fp);
echo "ok";

Yukarıdaki kod sadece asılı. i süre bu tür ok çıkarmak, bu yüzden varsayalım eğer sorun $ soap_in yer almaktadır. = fgets ($ fp, 100)

Ne oluyor herhangi bir fikir

2 Cevap

Onun değil sonra ona 'POST ....' yazılı bir yuva açılması meselesi - olası tepkiler (? Örneğin farklı ne kodlamaları Kısmi İçerik) ayrıştırmak için tam bir HTTP yığını gerekir. CURL kullanın.

Yine uygun bir HTTP yığınını kullanarak çözülemez olacağını - uzak sistem keepalives kullanmak üzere yapılandırılmış çünkü onun şu anda başarısız nedeni muhtemelen.

C.