2016-01-11 9 views
6

के साथ भेजने के लिए उचित तरीका (POST) xml मैं एक xml फ़ाइल भेजने guzzle के साथ एक पोस्ट करना चाहता हूँ। मुझे एक उदाहरण नहीं मिला।गोज़ल 6

'क्या मैं अब तक किया है है:

$xml2=simplexml_load_string($xml) or die("Error: Cannot create object"); 
use GuzzleHttp\Client; 
use GuzzleHttp\Psr7\Request; 
$client = new Client(); 
// 
$request = new Request('POST', $uri, [ 'body'=>$xml]); 
$response = $client->send($request); 
// 
//$code = $response->getStatusCode(); // 200 
//$reason = $response->getReasonPhrase(); // OK 
// 
echo $response->getBody(); 

कोई फर्क नहीं पड़ता कि मैं क्या करने की कोशिश मैं वापस त्रुटि -1 जिसका अर्थ है कि xml मान्य नहीं है मिलता है। एक्सएमएल जो मैं भेजता हूं ऑनलाइन सत्यापन पास करता है और मान्य है 100 100

कृपया मदद करें।

उत्तर

12

कुछ प्रयोगों के बाद, मैं यह पता लगा है। अगर कोई मृत अंत तक पहुंचता है तो मेरा समाधान यहां है।

$request = new Request(
    'POST', 
    $uri, 
    ['Content-Type' => 'text/xml; charset=UTF8'], 
    $xml 
); 
-2

की तरह डेटा पोस्ट करने का प्रयास:

$xml2=simplexml_load_string($xml) or die("Error: Cannot create object"); 
use GuzzleHttp\Client; 
use GuzzleHttp\Psr7\Request; 
$client = new Client(); 
// 
$request = new Request('POST', $uri, [ 
'form_params' => [ 
     'xml' => $xml, 
    ] 
]); 
$response = $client->send($request); 
//$code = $response->getStatusCode(); // 200 
//$reason = $response->getReasonPhrase(); // OK 
echo $response->getBody(); 
+0

धन्यवाद लेकिन यह काम नहीं करता है। फिर एक ही प्रतिक्रिया। क्या विकल्प ऑब्जेक्ट में विस्तार से वर्णन करने वाला कोई दस्तावेज है? – user3485417

1

आप पोस्ट विधि का उपयोग कर xml भेजने के लिए चाहते हैं, यहाँ एक उदाहरण है:

$guzzle->post($url, ['body' => $xmlContent]); 
1

यह वही है guzzle 6 पर मेरे लिए काम किया है: सुझाव के लिए

$Options = [ 
    'headers' => [ 
     'ContentT-ype' => 'text/xml; charset=UTF8', 
    ], 
    'body' => $XML, 
]; 

$Response = $Client->request('POST',$Url,$Options);