2010-08-31 13 views
5

मेरे पास एक सामान्य कार्य है जिसका उपयोग मैं SOAP कमांड पास करने के लिए करता हूं। मुझे RAW XML डेटा को देखने की आवश्यकता है जो त्रुटि का निदान करने के लिए सर्वर पर भेजा गया है। मैं उसको कैसे करू?मैं nusoap से "कच्चे xml" आउटपुट को कैसे देखूं?

उत्तर

15

कोई बात नहीं, यह डॉट के बहुत करीब लगता है!

http://www.scottnichol.com/nusoapintro.htm

echo '<h2>Request</h2>'; 
echo '<pre>' . htmlspecialchars($client->request, ENT_QUOTES) . '</pre>'; 
echo '<h2>Response</h2>'; 
echo '<pre>' . htmlspecialchars($client->response, ENT_QUOTES) . '</pre>'; 

// Display the debug messages 
echo '<h2>Debug</h2>'; 
echo '<pre>' . htmlspecialchars($client->debug_str, ENT_QUOTES) . '</pre>'; 
1

हालांकि यह एक पुरानी पोस्ट मैं tzmatt जवाब के अपने स्वयं के संस्करण के साथ में चिप करना चाहता था है।

class soapBug { 

    /* 
    * @var obj $debug client object 
    * @var string $what Just a name for the header so you know 
    * what you are looking at. 
    */ 
    public function bug($debug, $what) { 
     /* ive stayed with the original here, but you could look at 
     * http://www.php.net/manual/en/tidy.repairstring.php to 
     * output in clean xml. 
     * 
     * I just grab the line i need and paste 
     * it into my IDE and let it format for me, works just as well 
     * and no coding to fiddle with for something that wont be 
     * permanent on my project. 
     */ 
     echo '<h2>' . $what . '</h2>'; 
     echo '<pre>' . htmlspecialchars($debug, ENT_QUOTES) . '</pre>'; 

    } 

} 

class someClass { 

    private $de; 
    // private to this class to prevent accidental call 
    // outside the class. 

    public function __construct() { 

      $this->de = new soapBug; 
    } 

    public function thatNeedsDebugging() { 

     /* 
     * Simple enough to debug your client now no need to copy 
     * the html block all over you can debug with just one line 
     * of call all of them 
     */ 
     $this->de->bug($client->request, 'Request'); // I grab this output string 
     $this->de->bug($client->response, 'Response'); 
     $this->de->bug($client->debug_str, 'Debug'); 
    } 
} 
संबंधित मुद्दे