ID:               30329
 Updated by:       [EMAIL PROTECTED]
 Reported By:      [EMAIL PROTECTED]
-Status:           Open
+Status:           Assigned
 Bug Type:         SOAP related
 Operating System: Solaris 9
 PHP Version:      5.0.2
-Assigned To:      
+Assigned To:      dmitry


Previous Comments:
------------------------------------------------------------------------

[2004-10-05 15:02:48] [EMAIL PROTECTED]

incorrect. The EAServer does respond with HTTP/1.0. And in HTTP/1.0 you
can leave out the Content-Length (if unknown), because chunked encoding
cannot be used with 1.0

------------------------------------------------------------------------

[2004-10-05 14:50:22] [EMAIL PROTECTED]

I don't think we should add workarounds around other buggy products.
This is violating the RFC iirc.

------------------------------------------------------------------------

[2004-10-05 14:45:17] [EMAIL PROTECTED]

The problem also sometimes occurs even with HTTP/1.0. After checking
this, it seems that EAServer does not send a Content-Length! Can we
change this in a way that get_http_body also accepts a zero
content-length?

------------------------------------------------------------------------

[2004-10-05 13:57:07] [EMAIL PROTECTED]

Description:
------------
I get the error message "Error Fetching http body, No Content-Length,
connection closed or chunked data [faultcode]" when try to communicate
with Sybase EAServer via SOAP.
When redirecting the web services via a Proxy-Plugin in an iPlanet
webserver everything works ok.
It seems that EAServer sends some bad encoded HTTP body.
When changing the SOAP extension code to only support HTTP/1.0,
everything works.
How about introducing an additional option to SoapClient named
"http_version" that can be set to 1.1 or 1.0 (default 1.1). At this
time "1.1" is hardcoded into php_http.c.
When 1.0 is on, "Connection:" should be assumed as "close".

Something other:
If the extension CURL is used, why not use CURL for sending SOAP
requests?

Reproduce code:
---------------
<h1>SOAP Test</h1>
<?php
    $ws=new
SoapClient("http://ws.pangaea.de:8084/ws/services/WebServices?wsdl",array('trace'=>TRUE));
    try {
        $res=$ws->metadata("10.1594/PANGAEA/206854");
    } catch (SoapFault $sf) {
        echo "<pre>".print_r($sf)."</pre>";
    }
    echo
"<h2>Request</h2><pre>".htmlspecialchars($ws->__getLastRequest())."</pre><h2>Response</h2><pre>".htmlspecialchars($ws->__getLastResponse())."</pre>";
    echo "<h2>Decoded</h2><pre>";
    print_r($res);
?>
</pre>

Expected result:
----------------
no SoapFault



------------------------------------------------------------------------


-- 
Edit this bug report at http://bugs.php.net/?id=30329&edit=1

Reply via email to