- priority: 5 --> 7
I have a PHP SoapServer that works fine with the PHP SoapClient - results AND faults are being successfully transmitted from server to client.
When using SOAP::Lite (version 0.710.07) for invoking the service everything is fine unless an error happens on the server side.
The SoapServer's implementation raises an exception which is intercepter by SoapServer and sent to the client as:
HTTP/1.1 500 Internal Service Error
Connection: close
Date: Thu, 10 Jul 2008 10:54:24 GMT
Server: Apache/2.2.8 (Unix) mod_ssl/2.2.8 OpenSSL/0.9.7l DAV/2 PHP/5.2.6 mod_perl/2.0.3 Perl/v5.8.8
Content-Length: 463
Content-Type: text/xml; charset=utf-8
Client-Date: Thu, 10 Jul 2008 10:54:24 GMT
Client-Peer: 127.0.0.1:80
Client-Response-Num: 1
X-Powered-By: PHP/5.2.6
<?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>SOAP-ENV:Client</faultcode><faultstring>there already is a lot with equal sale id and reference</faultstring><detail><errno>1024</errno><file>/Users/aless/Sites/thirdman/current/httpdocs/soap/ThirdManDatabase.class.php</file><line>310</line></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
The SOAP::Lite client returns undef instead of setting the fault or throwing it (dying).