Поэтому, получив разрешение на получение nusoap для опроса сервера chemspider для получения информации, я получаю ответ, который будет отображаться с использованием print_r, но при использовании печати будет просто отображать Array.
Мой вопрос в том, действительно ли, как взять данный ответ и превратить его в php-массив
Код для клиента nusoap
<?php require_once('../lib/nusoap.php'); $client = new nusoap_client('http://www.chemspider.com/Search.asmx?WSDL', 'wsdl'); $err = $client->getError(); if ($err) { echo '<h2>Constructor error</h2><pre>' . $err . '</pre>'; } $query = 'methanol'; $token = 'token'; $result = $client->call(SimpleSearch, array('query' => $query, 'token' => $token), array('return' => 'xsd:string'), "http://www.chemspider.com/SimpleSearch") ; // Check for a fault if ($client->fault) { echo '<h2>Fault</h2><pre>'; print_r($result); echo '</pre>'; } else { // Check for errors $err = $client->getError(); if ($err) { // Display the error echo '<h2>Error</h2><pre>' . $err . '</pre>'; } else { // Display the result echo '<h2>Result</h2><pre>'; print_r($result); echo '</pre>'; } } echo '<h2>Request</h2><pre>' . htmlspecialchars($client->request, ENT_QUOTES) . '</pre>'; echo '<h2>Response</h2><pre>' . htmlspecialchars($client->response, ENT_QUOTES) . '</pre>'; echo '<h2>Debug</h2><pre>' . htmlspecialchars($client->debug_str, ENT_QUOTES) . '</pre>'; ?>
Это дает следующий результат (за вычетом информации об отладке):
Result Array ( [SimpleSearchResult] => Array ( [int] => 864 ) ) Request POST /Search.asmx HTTP/1.0 Host: www.chemspider.com User-Agent: NuSOAP/0.7.3 (1.114) Content-Type: text/xml; charset=ISO-8859-1 SOAPAction: "http://www.chemspider.com/SimpleSearch" Content-Length: 489 <?xml version="1.0" encoding="ISO-8859-1"?><SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns8284="Array"><SOAP-ENV:Body><SimpleSearch xmlns="http://www.chemspider.com/"><query>methanol</query><token>token</token></SimpleSearch></SOAP-ENV:Body></SOAP-ENV:Envelope> Response HTTP/1.1 200 OK x-cspc-fd: search.asmx x-cspc-fh: chemspider x-orig-path: /Search.asmx Set-Cookie: x-dsp= Set-Cookie: xd-ond=dond Set-Cookie: X-Mapping-kckcchol=47DE43E9D82204D9CDBBD4A2610306B8; path=/ Cache-Control: private, max-age=0 x-cspc-pl: 0 Content-Length: 381 x-cspc-hs: chemspider.com Date: Thu, 24 Sep 2009 08:54:01 GMT x-bwcc: pub x-dsp: [][] Connection: close X-AspNet-Version: 2.0.50727 x-cspc-pt: /Search.asmx Z-Spider: Hunstman-32-1 x-orig-host: chemspider.com Server: Microsoft-IIS/6.0 X-Powered-By: ASP.NET Content-Type: text/xml; charset=utf-8 <?xml version="1.0" encoding="utf-8"?><soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><soap:Body><SimpleSearchResponse xmlns="http://www.chemspider.com/"><SimpleSearchResult><int>864</int></SimpleSearchResult></SimpleSearchResponse></soap:Body></soap:Envelope>