2012-12-25 16 views
34

मुझे साबुन क्लाइंट का उपयोग करने वाले कोड को डीबग करने की आवश्यकता है। मैंने पाया php.net में getLast * तरीकों, लेकिन यह शून्यडीबग के लिए सोप क्लाइंट अनुरोध को डंप कैसे करें?

<?php 

    $client = new SoapClient("http://www.webservicex.net/ConverPower.asmx?WSDL"); 

    $response = $client->ChangePowerUnit(array(
     "PowerValue" => 100, 
     "fromPowerUnit" => "horsepower", 
     "toPowerUnit" => "megawatts" 
    )); 


    echo "====== REQUEST HEADERS =====" . PHP_EOL; 
    var_dump($client->__getLastRequestHeaders()); 
    echo "========= REQUEST ==========" . PHP_EOL; 
    var_dump($client->__getLastRequest()); 
    echo "========= RESPONSE =========" . PHP_EOL; 
    var_dump($response); 

?> 

कोड निष्पादन के परिणाम देता है जब मैं डिबग के लिए अंतिम अनुरोध प्राप्त करने की कोशिश:

$php soap_test.php 

====== REQUEST HEADERS ===== 
NULL 
========= REQUEST ========== 
NULL 
========= RESPONSE ========= 
object(stdClass)#2 (1) { 
    ["ChangePowerUnitResult"]=> 
    float(0.0746) 
} 

कैसे शरीर की सामग्री प्राप्त करने के और अंतिम सोप क्लाइंट अनुरोध के शीर्षलेख?

उत्तर

43

These functions ही काम करता है SoapClient वस्तु का पता लगाने के लिए विकल्प सही करने के लिए सेट के साथ बनाया गया था, तो।

प्रयास करें:

$client = new SoapClient("http://www.webservicex.net/ConverPower.asmx?WSDL", array('trace' => 1)); 
+2

हालांकि @xdazz सही है मैं अत्यधिक भी तो आप कॉल आप देख सकते हैं '' 'जोड़ने के लिए" अपवाद "=> 0''' SoapClient विधि में पैरामीटर के लिए सिफारिश यदि आप एक गलत प्रतिक्रिया प्राप्त करते हैं तो भी बना रहे हैं। – Dragon54

संबंधित मुद्दे