2012-05-18 29 views
2

使用Soap將用戶數據提交給服務器時遇到了一些麻煩。我得到的是:
錯誤正在獲取http正文,沒有內容長度,連接關閉或分塊數據 我做錯了什麼?「使用php SoapClient獲取http正文」錯誤

$client = new SoapClient(APPPATH.'my.wsdl',array(
    'login' => 'user', 
    'password' => 'pass', 
    'location' => 'http://gimmeyadata.com/crm/regserv?wsdl', 
    'trace' => true, 
    ) 
); 
$result = $client->register(array(
    'Email' => '[email protected]', 
    'Gender' => 'm', 
    'First name' => 'Oliver', 
    'Last name' => 'Liermann', 
    'Language code' => 'de-de', 
)); 

最後響應頭: HTTP/1.1 200 OK X-SiteConfidence:jenppb601內容位置:http:// ** *。 Content-Language:de-DE內容類型:text/html; charset = UTF-8日期:2012年5月18日星期五15:50:01格林威治標準時間時間:2012年5月18日星期二格林威治標準時間Encoding:chunked Connection:keep-alive連接:Transfer-Encoding Set-Cookie:JSESSIONID = 0a6d28f530d798c4676f59494491a82035d98e25ff6f.e38Ka38Sax4TbO0MaheKbhaTbh8Te6fznA5Pp7ftolbGmkTy;路徑= /緩存控制:私人

最後請求頭: POST /html/de_DE/index_DE/index.html HTTP/1.1主機: ***連接:Keep-Alive用戶代理:PHP-SOAP/5.2.13內容類型:text/xml;字符集= UTF-8的SOAPAction: 「」 內容長度:937授權:基本c3RyZ19ka29zaGF2ZTpsNFB3TVZqDlRhZUc1cg ==曲奇:JSESSIONID = 0a6e28e930d70301b8f6dd3e8a2598bff7cef065809a.e38Pa3mLbx4Oci0Mah4Qb34TbxmOe6fznA5Pp7etoltGmkTy; BIGipServerPirobase = 254438666.20480.0000;

PHP版本:5.2.13

+0

哪個版本的PHP是你使用,如果您啓用肥皂追蹤,請張貼迴應標題。 – hakre

回答

9

嘗試PHP 5.3

$client = new SoapClient("< some url >", 
    array(
     'trace' => 1, 
     'stream_context' => stream_context_create(
      array(
       'http' => array(
        'protocol_version' => 1.0, 
       ), 
      ) 
     ), 
    ) 
); 
+0

我有同樣的問題,旅遊解決方案解決它,謝謝! –

+0

我有PHP 5.6.9和Apache 2.4.12的這個問題。感謝您的解決方案! –

0

使用PHP 5.4.4,它並沒有Transfer-Encoding: chunked工作:

$client = new SoapClient("< some url >", 
    array(
     'trace' => 1, 
     'stream_context' => stream_context_create(
      array(
       'http' => array(
        'protocol_version' => 1.0, 
        'header' => "Transfer-Encoding: chunked\r\n", 
       ), 
      ) 
     ), 
    ) 
);