Fault problems with DIME
| From: | Artem Bozhenov | Date: | Tue, 17 Jun 2003 15:56:15 +0000 |
| Subject: | Fault problems with DIME | ||
| Groups: | php.soap | ||
| Request: | Send a blank email to php-soap+get-716@lists.php.net to get a copy of this message | ||
Hello.
I have the following problem:
I send a request containing DIME attachements to PEAR::SOAP server and in
the server code throw SOAP_Fault.
But due to backtrace in <details> section of response I get a garbage in the
output - you see,
backtrace puts contents of attached DIME files directly into response xml.
It happens because I pass attached files as parameters
to server function, and backtrace outputs that parameters. The output look
like this:
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
....>
<SOAP-ENV:Body>
<SOAP-ENV:Fault>
<faultcode xsi:type="xsd:QName">SOAP-ENV:Client</faultcode>
<faultstring xsi:type="xsd:string">Error!</faultstring>
<faultactor xsi:type="xsd:anyURI"></faultactor>
<detail xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="Struct[9]"
SOAP-ENC:offset="[0]">
....
<item>
<function xsi:type="xsd:string">UploadencodedData</function>
<class xsi:type="xsd:string">soap_FileManagement_server</class>
<type xsi:type="xsd:string">-></type>
<args xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="xsd:string[5]"
SOAP-ENC:offset="[0]">
<item xsi:type="xsd:string">login</item>
<item xsi:type="xsd:string">password</item>
<item xsi:type="xsd:string">4</item>
<item xsi:type="xsd:string">form_Form_ms.xml</item>
<item xsi:type="xsd:string">L
wÔÓ÷
ã.Êo4èú»mw@Z8jötÛ
jç?H¸¼x6%t¼UÑÛËh¼£$°?µ/)6¶ïmÿKTc©è&~ü1A&?`pøñ
Oì2åA
»W0?C
»D¢åZÕábzO_?² ²×n+è?Ý}ø|
'\Bè+X¸?àLèrhv92íͦpÓé$¸ÜäïJ±o5T0Ç
îÕ®
l]ÓM?ãC¼íAõ´Wv¶
N@Â
NèÙd«Ò¹éd`³ðCOKËC8Õ&/aõ[§æC5JýÍÅoWá?=ó?kú¯Ê×e±,cò9dø¨
?jsn8OhoRf¬³`Â?ab?Ò»pÂ×VØ©?V¤:§Ìÿá1SsEöv?:fQ.¤DoÛ@:Ý=bÚã?þãq
WoZJI!éHÎùºBL$*¸
.....
</item></detail></SOAP-ENV:Fault>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
This is not correct UTF-8 file and xml-reader compains about this...
Is there any way to fix this except for commenting lines in SOAP/Fault.php
that output backtrace?
Best regards, Artem Bozhenov