[re-request] PEAR::SOAP Syntax

From: Date: Tue, 25 May 2004 05:53:02 +0000
Subject: [re-request] PEAR::SOAP Syntax
Groups: php.pear.general 
Request: Send a blank email to pear-general+get-12716@lists.php.net to get a copy of this message
Hi, in some cases i get XML parse errors when getting strings from SOAP_Server. I am confused. Tested with 0.7.5 and 0.8RC3. Do i have to encode the strings with e. g. htmlentities by myself? I think the SOAP Module should handle this. I tested that with a dispatch map, too - without any changes :-( PS: Is there any doc? ------- Here the example client output: object(soap_fault)(8) { ["error_message_prefix"]=> string(0) "" ["mode"]=> int(1) ["level"]=> int(1024) ["code"]=> string(6) "Parser" ["message"]=> string(69) "XML error on line 16 col 238 byte 827 not well-formed (invalid token)" ["userinfo"]=> string(1923) "<?xml version="1.0" encoding="UTF-8"?> <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:ns4="urn:immo" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> <SOAP-ENV:Body> <ns4:random_immoResponse> <return> <standort xsi:type="xsd:string">Drochtersen / Barnkrug</standort> <id xsi:type="xsd:string">78914222</id> <bildtyp1 xsi:type="xsd:string">1</bildtyp1> <text xsi:type="xsd:string">&lt;b&gt;&lt;center&gt;Einfamilienhaus in Drochtersen (renorviert)&lt;/center&gt;&lt;/b&gt;&lt;BR&gt;&lt;BR&gt;&lt;blockquote&gt;& lt;li&gt;&lt;b&gt;Aufteilung:&lt;/b&gt;&lt;BR&gt;EG: Wohnzimmer, Schlafzimmer, Küche, Bad, Gäste-WC&lt;BR&gt;OG: Schlafzimmer, Kinderzimmer, Gästezimmer, Duschbad&lt;BR&gt;&lt;BR&gt;&lt;b&gt;&lt;li&gt;Ausstattung:&lt;/b&gt; Teilkeller, Ölzentralheizung (Bj. 95), Iso-Fenster, Rolläden Teppich- u. Fliesenböden!&lt;BR&gt;&lt;BR&gt;Grundstück: ca. 1847 qm mit Schuppen, großer Garten (Bauplatz)&lt;BR&gt;&lt;BR&gt;&lt;b&gt;&lt;li&gt;Umfeld:&lt;/b&gt; Drochtersen OT Barnkrug, Schule, Kindergarten, Ärzte und Einkaufsmöglichkeiten in der Nähe.&lt;BR&gt;&lt;BR&gt;&lt;i&gt;Alle Angaben ohne Gewähr&lt;/i&gt;&lt;/blockquote&gt;&lt;BR&gt;</text></return></ns4:random_im moResponse> </SOAP-ENV:Body> </SOAP-ENV:Envelope>" ["backtrace"]=> array(6) { [0]=> array(6) { ["file"]=> string(27) "/usr/lib/php/SOAP/Fault.php" ["line"]=> int(49) ["function"]=> string(10) "pear_error" ["class"]=> string(10) "pear_error" ["type"]=> string(2) "::" ["args"]=> array(5) { [0]=> string(69) "XML error on line 16 col 238 byte 827 not well-formed (invalid token)" [1]=> string(6) "Parser" [2]=> NULL [3]=> NULL [4]=> string(1923) "<?xml version="1.0" encoding="UTF-8"?> <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:ns4="urn:immo" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> <SOAP-ENV:Body> <ns4:random_immoResponse> <return> <standort xsi:type="xsd:string">Drochtersen / Barnkrug</standort> <id xsi:type="xsd:string">78914222</id> <bildtyp1 xsi:type="xsd:string">1</bildtyp1> <text xsi:type="xsd:string">&lt;b&gt;&lt;center&gt;Einfamilienhaus in Drochtersen (renorviert)&lt;/center&gt;&lt;/b&gt;&lt;BR&gt;&lt;BR&gt;&lt;blockquote&gt;& lt;li&gt;&lt;b&gt;Aufteilung:&lt;/b&gt;&lt;BR&gt;EG: Wohnzimmer, Schlafzimmer, Küche, Bad, Gäste-WC&lt;BR&gt;OG: Schlafzimmer, Kinderzimmer, Gästezimmer, Duschbad&lt;BR&gt;&lt;BR&gt;&lt;b&gt;&lt;li&gt;Ausstattung:&lt;/b&gt; Teilkeller, Ölzentralheizung (Bj. 95), Iso-Fenster, Rolläden Teppich- u. Fliesenböden!&lt;BR&gt;&lt;BR&gt;Grundstück: ca. 1847 qm mit Schuppen, großer Garten (Bauplatz)&lt;BR&gt;&lt;BR&gt;&lt;b&gt;&lt;li&gt;Umfeld:&lt;/b&gt; Drochtersen OT Barnkrug, Schule, Kindergarten, Ärzte und Einkaufsmöglichkeiten in der Nähe.&lt;BR&gt;&lt;BR&gt;&lt;i&gt;Alle Angaben ohne Gewähr&lt;/i&gt;&lt;/blockquote&gt;&lt;BR&gt;</text></return></ns4:random_im moResponse> </SOAP-ENV:Body> </SOAP-ENV:Envelope>" } } [1]=> array(6) { ["file"]=> string(26) "/usr/lib/php/SOAP/Base.php" ["line"]=> int(199) ["function"]=> string(10) "soap_fault" ["class"]=> string(10) "soap_fault" ["type"]=> string(2) "->" ["args"]=> array(6) { [0]=> string(69) "XML error on line 16 col 238 byte 827 not well-formed (invalid token)" [1]=> string(6) "Parser" [2]=> string(0) "" [3]=> string(1923) "<?xml version="1.0" encoding="UTF-8"?> <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:ns4="urn:immo" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> <SOAP-ENV:Body> <ns4:random_immoResponse> <return> <standort xsi:type="xsd:string">Drochtersen / Barnkrug</standort> <id xsi:type="xsd:string">78914222</id> <bildtyp1 xsi:type="xsd:string">1</bildtyp1> <text xsi:type="xsd:string">&lt;b&gt;&lt;center&gt;Einfamilienhaus in Drochtersen (renorviert)&lt;/center&gt;&lt;/b&gt;&lt;BR&gt;&lt;BR&gt;&lt;blockquote&gt;& lt;li&gt;&lt;b&gt;Aufteilung:&lt;/b&gt;&lt;BR&gt;EG: Wohnzimmer, Schlafzimmer, Küche, Bad, Gäste-WC&lt;BR&gt;OG: Schlafzimmer, Kinderzimmer, Gästezimmer, Duschbad&lt;BR&gt;&lt;BR&gt;&lt;b&gt;&lt;li&gt;Ausstattung:&lt;/b&gt; Teilkeller, Ölzentralheizung (Bj. 95), Iso-Fenster, Rolläden Teppich- u. Fliesenböden!&lt;BR&gt;&lt;BR&gt;Grundstück: ca. 1847 qm mit Schuppen, großer Garten (Bauplatz)&lt;BR&gt;&lt;BR&gt;&lt;b&gt;&lt;li&gt;Umfeld:&lt;/b&gt; Drochtersen OT Barnkrug, Schule, Kindergarten, Ärzte und Einkaufsmöglichkeiten in der Nähe.&lt;BR&gt;&lt;BR&gt;&lt;i&gt;Alle Angaben ohne Gewähr&lt;/i&gt;&lt;/blockquote&gt;&lt;BR&gt;</text></return></ns4:random_im moResponse> </SOAP-ENV:Body> </SOAP-ENV:Envelope>" [4]=> NULL [5]=> NULL } } [2]=> array(6) { ["file"]=> string(28) "/usr/lib/php/SOAP/Parser.php" ["line"]=> int(103) ["function"]=> string(15) "_raisesoapfault" ["class"]=> string(11) "soap_parser" ["type"]=> string(2) "->" ["args"]=> array(2) { [0]=> string(69) "XML error on line 16 col 238 byte 827 not well-formed (invalid token)" [1]=> string(1923) "<?xml version="1.0" encoding="UTF-8"?> <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:ns4="urn:immo" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> <SOAP-ENV:Body> <ns4:random_immoResponse> <return> <standort xsi:type="xsd:string">Drochtersen / Barnkrug</standort> <id xsi:type="xsd:string">78914222</id> <bildtyp1 xsi:type="xsd:string">1</bildtyp1> <text xsi:type="xsd:string">&lt;b&gt;&lt;center&gt;Einfamilienhaus in Drochtersen (renorviert)&lt;/center&gt;&lt;/b&gt;&lt;BR&gt;&lt;BR&gt;&lt;blockquote&gt;& lt;li&gt;&lt;b&gt;Aufteilung:&lt;/b&gt;&lt;BR&gt;EG: Wohnzimmer, Schlafzimmer, Küche, Bad, Gäste-WC&lt;BR&gt;OG: Schlafzimmer, Kinderzimmer, Gästezimmer, Duschbad&lt;BR&gt;&lt;BR&gt;&lt;b&gt;&lt;li&gt;Ausstattung:&lt;/b&gt; Teilkeller, Ölzentralheizung (Bj. 95), Iso-Fenster, Rolläden Teppich- u. Fliesenböden!&lt;BR&gt;&lt;BR&gt;Grundstück: ca. 1847 qm mit Schuppen, großer Garten (Bauplatz)&lt;BR&gt;&lt;BR&gt;&lt;b&gt;&lt;li&gt;Umfeld:&lt;/b&gt; Drochtersen OT Barnkrug, Schule, Kindergarten, Ärzte und Einkaufsmöglichkeiten in der Nähe.&lt;BR&gt;&lt;BR&gt;&lt;i&gt;Alle Angaben ohne Gewähr&lt;/i&gt;&lt;/blockquote&gt;&lt;BR&gt;</text></return></ns4:random_im moResponse> </SOAP-ENV:Body> </SOAP-ENV:Envelope>" } } [3]=> array(6) { ["file"]=> string(28) "/usr/lib/php/SOAP/Client.php" ["line"]=> int(537) ["function"]=> string(11) "soap_parser" ["class"]=> string(11) "soap_parser" ["type"]=> string(2) "->" ["args"]=> array(3) { [0]=> &string(1461) " Drochtersen / Barnkrug 78914222 1 <b><center>Einfamilienhaus in Drochtersen (renorviert)</center></b><BR><BR><blockquote><li><b>Aufteilung:</b><BR>EG: Wohnzimmer, Schlafzimmer, Küche, Bad, Gäste-WC<BR>OG: Schlafzimmer, Kinderzimmer, Gästezimmer, Duschbad<BR><BR><b><li>Ausstattung:</b> Teilkeller, Ölzentralheizung (Bj. 95), Iso-Fenster, Rolläden Teppich- u. Fliesenböden!<BR><BR>Grundstück: ca. 1847 qm mit Schuppen, großer Garten (Bauplatz)<BR><BR><b><li>Umfeld:</b> Drochtersen OT Barnkrug, Schule, Kindergarten, Ärzte und Einkaufsmöglichkeiten in der Nähe.<BR><BR><i>Alle Angaben ohne Gewähr</i></blockquote><BR> " [1]=> string(5) "UTF-8" [2]=> NULL } } [4]=> array(6) { ["file"]=> string(28) "/usr/lib/php/SOAP/Client.php" ["line"]=> int(281) ["function"]=> string(7) "__parse" ["class"]=> string(11) "soap_client" ["type"]=> string(2) "->" ["args"]=> array(3) { [0]=> &string(1461) " Drochtersen / Barnkrug 78914222 1 <b><center>Einfamilienhaus in Drochtersen (renorviert)</center></b><BR><BR><blockquote><li><b>Aufteilung:</b><BR>EG: Wohnzimmer, Schlafzimmer, Küche, Bad, Gäste-WC<BR>OG: Schlafzimmer, Kinderzimmer, Gästezimmer, Duschbad<BR><BR><b><li>Ausstattung:</b> Teilkeller, Ölzentralheizung (Bj. 95), Iso-Fenster, Rolläden Teppich- u. Fliesenböden!<BR><BR>Grundstück: ca. 1847 qm mit Schuppen, großer Garten (Bauplatz)<BR><BR><b><li>Umfeld:</b> Drochtersen OT Barnkrug, Schule, Kindergarten, Ärzte und Einkaufsmöglichkeiten in der Nähe.<BR><BR><i>Alle Angaben ohne Gewähr</i></blockquote><BR> " [1]=> string(5) "UTF-8" [2]=> &NULL } } [5]=> array(6) { ["file"]=> string(38) ...." ["line"]=> int(13) ["function"]=> string(4) "call" ["class"]=> string(11) "soap_client" ["type"]=> string(2) "->" ["args"]=> array(3) { [0]=> string(11) "random_immo" [1]=> &array(1) { [0]=> object(soap_value)(11) { ["value"]=> string(9) "010100285" ["name"]=> string(5) "kndnr" ["type"]=> string(6) "string" ["namespace"]=> string(0) "" ["type_namespace"]=> string(0) "" ["attributes"]=> array(0) { } ["arrayType"]=> string(0) "" ["options"]=> array(0) { } ["nqn"]=> &object(qname)(3) { ["name"]=> string(5) "kndnr" ["ns"]=> string(0) "" ["namespace"]=> string(0) "" } ["tqn"]=> &object(qname)(3) { ["name"]=> string(6) "string" ["ns"]=> string(0) "" ["namespace"]=> string(0) "" } ["type_prefix"]=> string(0) "" } } [2]=> array(1) { ["namespace"]=> string(8) "urn:immo" } } } } ["callback"]=> NULL } The Server source: <? require_once '/usr/lib/php/SOAP/Server.php'; class SOAP_immo { function SOAP_immo () { $this->__dispatch_map['random_immo'] = array ( 'in' => array('kndnr' => 'string'), 'out' => array ( array ( 'standort' => 'string', 'id' => 'int', 'bildtyp1' => 'string', 'text' => 'string' ) ) ); } function random_immo ($kndnr='') { pg_connect('); $sql=pg_query("select standort, id, bildtyp1, text from immo where kundennummer='$kndnr' and typ!='0' order by random() limit 1") or die (pg_last_error()); $result = pg_fetch_assoc($sql); return $result; } } $server_class=new SOAP_immo(); $server = new SOAP_Server(); $server->_auto_translation = true; $server->addObjectMap($server_class, 'urn:immo'); $server->service($HTTP_RAW_POST_DATA); > And the Client: require_once 'SOAP/Client.php'; $url=...'; $soap=new SOAP_Client($url); $params=array ( new SOAP_Value ('kndnr', 'string', '...') ); $blah=$soap->call('random_immo', $params, array('namespace' => 'urn:immo')); echo '<pre>'; var_dump($blah); ---- Thx for your help. -- Sönke -- PEAR General Mailing List (http://pear.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php

« previous php.pear.general (#12716) next »