How do i view the “raw xml” output from nusoap?

╄→尐↘猪︶ㄣ 提交于 2019-12-21 14:20:54

问题


I have a generic function that I use to pass SOAP commands. I need to view the RAW XML data that is being sent to the server for diagnosing an error. How do i do that?


回答1:


Never mind, this seems to be pretty close to the dot!

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>';



回答2:


While this is an old post i wanted to chip in with my own version of tzmatt answer.

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');
    }
}


来源:https://stackoverflow.com/questions/3606239/how-do-i-view-the-raw-xml-output-from-nusoap

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!