2012-05-18 3 views
2

У меня есть некоторые проблемы с отправкой пользовательских данных на сервер с помощью Soap. Все, что я получаю, это:
Ошибка Приобретение http body, No Content-Length, соединение закрыто или разделено данными Я что-то не так?«Ошибка получения http-тел» с php SoapClient

$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 Content-Location: Http: // . ** *. * /general/html/pages/layouts/columnContent.jsp Содержимое-язык: de-DE Тип содержимого: текст/html; charset = UTF-8 Дата: Пт, 18 Май 2012 15:50:01 GMT Трансфер- Кодирование: chunked Соединение: keep-alive Соединение: Transfer-Encoding Set-Cookie: JSESSIONID = 0a6d28f530d798c4676f59494491a82035d98e25ff6f.e38Ka38Sax4TbO0MaheKbhaTbh8Te6fznA5Pp7ftolbGmkTy; путь =/Cache-Control: частный

Последний заголовок запроса: POST /html/de_DE/index_DE/index.html HTTP/1.1 Host: . **. * Connection: Keep-Alive User-Agent: PHP-SOAP/5.2.13 Content-Type: text/xml; кодировка = UTF-8 SOAPAction: "" Content-Length: 937 Разрешение: Базовый c3RyZ19ka29zaGF2ZTpsNFB3TVZqDlRhZUc1cg == Cookie: 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", 
       ), 
      ) 
     ), 
    ) 
); 
Смежные вопросы